Log4j 的使用以及简单介绍

来源:互联网 发布:mac版java在什么地方 编辑:程序博客网 时间:2024/04/28 13:55

简单介绍:

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;

log4j--log for java (java的日志)

  在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。
  官方站点:http://logging.apache.org/log4j/


部署log4j到项目:


第一步

  加入log4jJar包到lib下。或引用到项目中。

第二步

  在CLASSPATH下建立log4j.properties。(src路径下)内容如下: 


log4j.rootLogger=info,appender1,appender2,appender3


log4j.appender.appender1   =   org.apache.log4j.DailyRollingFileAppender 
log4j.appender.appender1.DatePattern   ='_'yyyy-MM-dd'.log' 
log4j.appender.appender1.File   =   c:/logs/logfile.log
log4j.appender.appender1.Append   =   false 
log4j.appender.appender1.Threshold   =   info
log4j.appender.appender1.layout   =   org.apache.log4j.PatternLayout 
log4j.appender.appender1.layout.ConversionPattern=   [%-5p]   %d   -   %c   -%r   [%t]   %c      -   %m%n


log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.Threshold=info
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{yyyy-mm-dd HH\:mm\:ss}] %p - %c -%l  -%m%n


log4j.appender.appender3=org.apache.log4j.FileAppender
log4j.appender.appender3.File=d:/log4j.html
log4j.appender.appender3.layout=org.apache.log4j.HTMLLayout

第三步

  相应的修改其中属性,修改之前就必须知道这些都是干什么的(详细讲解可以到百科中学习http://baike.baidu.com/view/25347.htm)

第四步

  在要输出日志的类中加入相关语句:
  在自己的类中,一般Action中。把Test.class改为当前类名.class。
        导包

import org.apache.log4j.Logger;

在相应的方法中:
  Logger logger=Logger.getLogger(Test.class);
        System.out.println("下面的信息为log4j输出的信息。");
      logger.debug("这是debug信息");
      logger.error("这是error信息");
      logger.info("这是info信息");




log4j.properties文件内容简单讲解:


1:log4j.rootLogger= info,appender1,appender2,appender3

将等级为INFO的日志信息输出到appender1和appender2和appender3这三个目的地,这三个目的地的定义在下面的代码中。


2:log4j.appender.appender1   =   org.apache.log4j.DailyRollingFileAppender 
      log4j.appender.appender2   =   org.apache.log4j.ConsoleAppender
      log4j.appender.appender3   =   org.apache.log4j.FileAppender

定义了上面的三个目的地的输出端是哪种类型。
org.apache.log4j.ConsoleAppender(控制台):在控制台打印输出。
  org.apache.log4j.FileAppender(文件):生成在文件中。
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件):每天得输出都会生成一个对应的文件。
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


3:log4j.appender.appender1.layout   =   org.apache.log4j.PatternLayout

定义输出端的layout是哪种布局类型
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)


4:log4j.appender.appender1.layout.ConversionPattern

如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:

 
  %m 输出代码中指定的消息
  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  %r 输出自应用启动到输出该log信息耗费的毫秒数
  %c 输出所属的类目,通常就是所在类的全名
  %t 输出产生该日志事件的线程名
  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
  [QC]是log信息的开头,可以为任意字符,一般为项目简称。


5:log4j.appender.appender1.File   =   c:/logs/logfile.log

定义生产日志文件的存放位置



信息登记的优先级:

OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示





至于其他的的详细用法,和解释和参考百度百科的介绍。如果还达不到你的要求,OK。
去官网 :http://logging.apache.org/log4j/



原创粉丝点击