Log4j使用总结

#OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG

#这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=DEBUG

#将DAO层log记录到DAOLog,allLog中
log4j.logger.DAO=DEBUG,A2,A4
#将逻辑层log记录到BusinessLog,allLog中
log4j.logger.Businesslog=DEBUG,A3,A4

#A1--打印到屏幕上
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p  [%t]  %37c  %3x  -  %m%n

#A2--打印到文件DAOLog中--专门为DAO层服务
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=DAOLog
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p]  %d{yyyy-MM-dd  HH:mm:ss,SSS}  method:%l%n%m%n

#A3--打印到文件BusinessLog中--专门记录逻辑处理层服务log信息
log4j.appender.A3=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.file=BusinessLog
log4j.appender.A3.DatePattern='.'yyyy-MM-dd
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=[%-5p]  %d{yyyy-MM-dd  HH:mm:ss,SSS}  method:%l%n%m%n

#A4--打印到文件alllog中--记录所有log信息
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.file=alllog
log4j.appender.A4.DatePattern='.'yyyy-MM-dd
log4j.appender.A4.layout=org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=[%-5p]  %d{yyyy-MM-dd  HH:mm:ss,SSS}  method:%l%n%m%n

#Appender的使用
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=demo
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%m%n

#Layout的配置
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p]  %d{yyyy-MM-dd  HH:mm:ss,SSS}  method:%l%n%m%n

ConversionPattern参数的格式含义
格式名  含义
%c  输出日志信息所属的类的全名
%d  输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd  HH:mm:ss  },输出类似:2002-10-18-  22:10:28
%f  输出日志信息所属的类的类名
%l  输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m  输出代码中指定的信息,如log(message)中的message
%n  输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p  输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r  输出自应用启动到输出该日志信息所耗费的毫秒数
%t  输出产生该日志事件的线程名

#1  定义了两个输出端
log4j.rootLogger  =  INFO,  A1,  A2,A3

#2  定义A1输出到控制器
log4j.appender.A1  =  org.apache.log4j.ConsoleAppender
#3  定义A1的布局模式为PatternLayout
log4j.appender.A1.layout  =  org.apache.log4j.PatternLayout
#4  定义A1的输出格式
log4j.appender.A1.layout.ConversionPattern  =  %-4r  [%t]  %-5p  %c  -  %m%n

#5  定义A2输出到文件
log4j.appender.A2  =  org.apache.log4j.RollingFileAppender
#6  定义A2要输出到哪一个文件
log4j.appender.A2.File  =  F:nepalonclassesexample3.log
#7  定义A2的输出文件的最大长度
log4j.appender.A2.MaxFileSize  =  1KB
#8  定义A2的备份文件数
log4j.appender.A2.MaxBackupIndex  =  3
#9  定义A2的布局模式为PatternLayout
log4j.appender.A2.layout  =  org.apache.log4j.PatternLayout
#10  定义A2的输出格式
log4j.appender.A2.layout.ConversionPattern  =  %d{yyyy-MM-dd  hh:mm:ss}:%p  %t  %c  -  %m%n

配置log4j的总结
这个教程到这里,关于配置log4j的配置文件的基本原理已经讲完了,而且通过例3我们已经可以完成基本的日志工作了。现在,我们就做一个总结。配置一个配置文件的基本步骤如下:
1)  定义一个Logger。在定义Logger时指定该Logger的级别级其输出目的地。定义Logger的格式为
log4j.rootLogger  =  [  level  ],  appendName1,  appendName2,  …appendNameN。
2)  定义appender的输出目的地。定义一个appender的输出目的地的格式为
log4j.appender.appenderName  =  fully.qualified.name.of.appender.class。
log4j提供的输出端有ConsoleAppender、FileAppender  、DailyRollingFileAppender、RollingFileAppender和WriterAppender。
3)  定义appender的除布局模式外的其它相关参数,如例3中第6、7、8定义了A2的相关参数。定义格式为
log4j.appender.appenderName.optionName1  =  value1
……
log4j.appender.appenderName.optionNameN  =  valueN
如果除了布局模式外不需要定义别的参数,可跳过这一步(如例3中的A1)。
4)  定义appender的布局模式。定义一个appender的布局模式的格式为
log4j.appender.appenderName.layout  =  fully.qualified.name.of.layout.class。
布局模式其实也是步骤3)中的一个部分,只是布局模式参数是每一个appender必须定义的参数。Log4j提供的布局模式有HTMLLayout、PatternLayout和SimpleLayout。
5)  定义与所选的布局模式相关的设置信息,定义格式为
og4j.appender.appenderName.layout.optionName1  =  value1
……
log4j.appender.appenderName.layout.optionNameN  =  valueN


在类中使用时,导入以下包:
import  org.apache.log4j.BasicConfigurator;
import  org.apache.log4j.Logger;
import  org.apache.log4j.PropertyConfigurator;

在类中创建log对象
private  Logger  log  =  Logger.getLogger(this.getClass());

 

log.info("");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值