Log.logInfo(s.toString());的控制台显示

jog.info的具体用法、

 import java.io.*;

 import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.poi.hwpf.extractor.WordExtractor; public class wordTest {
private static Logger log = Logger.getLogger(wordTest.class);
public static void main (String [] args) {
PropertyConfigurator.configure("wordTest.log4j.properties");
File file = new File("D:\\1.doc");
try {
FileInputStream fis = new FileInputStream(file);
WordExtractor wordExtractor = new WordExtractor(fis);
System.out.println("【使用getText()方法提取的Word文件的内容如下所示:】");
System.out.println(wordExtractor.getText());
} catch (FileNotFoundException e) {
log.assertLog(true,"sfdsdfs");
log.error("FileNotFound", e);
} catch (IOException e) {
log.error("IOException", e);
//e.printStackTrace();
}
}
}

最近在写代码时,发现Log的功能很大,尤其对于不太习惯以debug为调试思维的人,好的log可以为程序开发添砖添瓦,当然Log也为一个应用程序提供程序运行状况的视图。

 
下面做一下简单总结:
1.jdk提供了Log的实现,在java.util.logging包中,这个实现起来比较简单,看看文档应该就明白了.
2. 现在比较流行的是log4j-*. jar,Apache Log4j 具有完善的功能和丰富的特性,也成为了基于 Java 的日志实现框架的事实标准。
这里提供一个例子给大家看:
package word;
import java.io.*;
 
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.poi.hwpf.extractor.WordExtractor; 
 
public class wordTest {
private static Logger log = Logger.getLogger(wordTest.class);
public static void main (String [] args) {
PropertyConfigurator.configure("wordTest.log4j.properties"); 
File file = new File("D:\\1.doc"); 
  try { 
   FileInputStream fis = new FileInputStream(file); 
   WordExtractor wordExtractor = new WordExtractor(fis); 
   System.out.println("【使用getText()方法提取的Word文件的内容如下所示:】"); 
   System.out.println(wordExtractor.getText()); 
  } catch (FileNotFoundException e) { 
  log.assertLog(true,"sfdsdfs");
  log.error("FileNotFound", e);
  } catch (IOException e) { 
  log.error("IOException", e);
  //e.printStackTrace(); 
}
}
 
#这个例子很有趣,还交给你java是如何解析Microsoft Word格式的文件的,如果想运行的话,去apache上找poi项目,很简单,将.jar文件加到环境变量中,如果使用的eclipse就更方便了。
#注意,根据要求我们需要一个日志的配置文件,wordTest.log4j.properties 
文件的内容如下:
log4j.rootLogger=DEBUG, A_default
log4j.appender.A_default=org.apache.log4j.RollingFileAppender
log4j.appender.A_default.File=wordTest.log #自动生成一个日志文件
log4j.appender.A_default.MaxFileSize=4000KB
log4j.appender.A_default.MaxBackupIndex=10
log4j.appender.A_default.layout=org.apache.log4j.PatternLayout
log4j.appender.A_default.layout.ConversionPattern=%d{ISO8601} - %p - %m%n
 
3.Jakarta commons logging为所有底层的日志实现提供了一个统一的接口,但其自身实现的日志功能较弱(只有简单的 NoOpLog 和 SimpleLog),所以通常需要和其他具体的日志实现结合使用。推荐看http://liyiye.javaeye.com/blog/237283

java中的log中的用法和小结的更多相关文章

  1. Andoid java文件中的Log检查工具

    AndroidLogChecker 由于发布软件版本的时候我们需要把Log注释掉,此工具可以检查java类中的Log所在行以及是否已经注释. Github: https://github.com/cu ...

  2. Java项目中使用log记录日志的一些总结

    本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...

  3. Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 不得不说在AS2.2以上的版本进行开发就一个字——爽,在2.0上使用jni出 ...

  4. java中的log

    slf4j slf4j的全称是:  Simple Logging Facade for Java (SLF4J). slf4j的官方网站:http://www.slf4j.org 简介 SLF4J不是 ...

  5. Java中使用Log的方法

    一.java自带log:java.util.logging.Logger使用三步曲 public class HelloLogWorld { private static String name = ...

  6. [Android Pro] Android studio jni中调用Log输出调试信息

    reference to : http://www.linuxidc.com/Linux/2014-02/96341.htm Android 开发中,java 可以方便的使用调试信息Log.i, Lo ...

  7. 详解Java的MyBatis框架中SQL语句映射部分的编写

    这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...

  8. android 中打 Log 的一些技巧

    在 android 平台上搞开发工作,会经常用到一些 Log 输出调试信息. 众所周知,android 中有五种类型的 Log , v, d, i, w, e 这里就不再赘 述 (如果对这些不了解的朋 ...

  9. (转)关于java和web项目中的相对路径问题

    原文:http://blog.csdn.net/yethyeth/article/details/1623283 关于java和web项目中的相对路径问题 分类: java 2007-05-23 22 ...

随机推荐

  1. Java单例模式--------懒汉式和饿汉式

    单件模式用途:单件模式属于工厂模式的特例,只是它不需要输入参数并且始终返回同一对象的引用.单件模式能够保证某一类型对象在系统中的唯一性,即某类在系统中只有一个实例.它的用途十分广泛,打个比方,我们开发 ...

  2. go语言使用protobuf

    网上为什么充斥着大量几乎一模一样而且不正确的教程??? 妈的打开一个关于golang和protobuf的教程,无非都是protobuf多么多么牛逼,xml多么多么傻逼,然后就是怎么安装protobuf ...

  3. dive into python 读笔(2)

    chapter 4 自省, summary: # 用可选和命名参数定义和调用函数 # 用 str 强制转换任意值为字符串形式 # 用 getattr 动态得到函数和其它属性的引用 # 扩展列表解析语法 ...

  4. .net sql connection pool leak

    Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This ma ...

  5. DB天气app冲刺第九天

    今天已经是冲刺的第九天了.应该算是进入了冲刺的后半期了.今天的android界面UI设计基本完成了.但还是有一些的bug,自己怎么也调不好,明天需要请教一下大神去. 今天已经把昨天布置的任务完成了.昨 ...

  6. C#中字符串驻留技术

    转自:http://www.cnblogs.com/Charles2008/archive/2009/04/12/1434115.html MSDN概念:公共语言运行库通过维护一个表来存放字符串,该表 ...

  7. No qualifying bean of type [com.shyy.web.service.TreeMapper] found for dependency

    异常信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.sp ...

  8. 基于jquery中children()与find()的区别介绍

    本篇文章介绍了,基于jquery中children()与find()的区别,需要的朋友参考下 .children(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈).参数可选 ...

  9. 汇编invoke和call的关系

    win32汇编里面,我们既可以用invoke也可以用call调用子程序/函数,不过invoke使用简单方便,所以绝大多数情况我们都用invoke. 但是很多人只是知道使用它,对它却不是很了解.我以前对 ...

  10. Akka Stream文档翻译:Quick Start Guide: Reactive Tweets

    Quick Start Guide: Reactive Tweets 快速入门指南: Reactive Tweets (reactive tweets 大概可以理解为“响应式推文”,在此可以测试下GF ...