`
hizhangqi
  • 浏览: 87257 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Log4j核心

阅读更多

注意:记得要加 log4j-1.2.11.jar  and commons-logging-1.0.4.jar 两个包下才能输出日志到文件

Log4j核心
    1>Logger
         Logger完成日志信息的处理
    2>Appender
         Appender设置日志信息的去向
    3>Layout
         Layout设置日志信息的输出样式

 

    Logger

    可以定义输出的层次和决定信息是否输出

    Logger输出的信息是有优先级别的

ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF

设置级别后只会输出优先级别>=设置的级别
log4j.rootLogger=debug,appender1
log4j.rootLogger=info,appender1
log4j.rootLogger=error,appender1

 

    Appender
    设置日志信息输出到哪个地方
    可以同时指定多个输出目的地

log4j.appender.appenderName=Appender.class
log4j.appender.appenderName.option1=value1
log4j.appender.appenderName.optionN=valueN


常用的有以下几个
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以串流格式发送到任意指定的地方)
org.apache.log4j.JdbcAppender(将日志信息保存到数据库中)


让日志信息保存在一个文件当中
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=H:/demolog4j/demolog4j.log

 

    Layout

    指定日志信息的格式
    配置的格式如下

log4j.appender.appenderName.layout=Layout.class
log4j.appender.appenderName.layout.option1=value1


Log4j提供的layout有以下几种
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、执行绪,类别等信息)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)


设置输出的样式为HTML格式
log4j.appender.appender1.File=H:/demolog4j/demolog4j.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout

 

    PatternLayout

    用来定制所输出的日志信息的样式

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
%f 输出日志信息所属的类别的类别名
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,指定格式的方式:%d{yyyy-MM-dd HH:mm:ss}
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类别的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个换行符号


log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%r [%t] %p - %c -%l %m%n


%-4r %-5p
输出字符的长度,超过就截取掉


[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n

 

    指定相应的包下

log4j.logger.com.test.wp=debug,appender1
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n

 

    指定相应的类

log4j.logger.com.test.wp.TestLog4j=debug,appender2

 

    是否要使用日志信息

if(log.isDebugEnabled()){
    log.debug("x="+longRunning());		
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics