根据需要为不同的类设置不同的输出日志名称及日志格式

web应用的日志不一定全部都要打到catalina.out文件中,可以根据需求,将不同的日志输出到不同的文件中,所以可以在log4j.properties日志文件中配置多个输出日志的模式,每个模式都会有一个名称,比如如下的名称“web”

1.  一般在类中通过如下方式获取LOG对象

protected static final Log LOG = LogFactory.getLog("web");
参数web实际就是一个特定日志的标示,即一个特定日志打印的名称

它的具体配置在log4j.properties文件中,具体配置如下

2. log4j文件的配置

log4j.logger.<strong>web</strong>=INFO,WebLog
log4j.appender.WebLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.WebLog.Threshold=INFO
log4j.appender.WebLog.File=${catalina.home}/logs/bk_web.log
log4j.appender.WebLog.layout=org.apache.log4j.PatternLayout
log4j.appender.WebLog.layout.ConversionPattern=%5p %d{yyyy-MM-dd HH:mm:ss} %m %n
上述log4j.logger.web中的web其实就跟上述的web对应,这一段配置就说明了名称为web的日志要打印到${catalina.home}/logs/bk_web.log文件中,

log4j.appender.WebLog.layout.ConversionPattern的具体配置说明如下:
            %m   输出代码中指定的消息
  %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
  %r   输出自应用启动到输出该log信息耗费的毫秒数 
  %c   输出所属的类目,通常就是所在类的全名 
  %t   输出产生该日志事件的线程名 
  %n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
  %d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss
 ,SSS},输出类似:2002年10月18日  22  10  28  921 
 
  %l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:
 10 

ConversionPattern实际配置的就是在使用打印日志的语句,比如如下语句打印日志的时候
LOG.error("No TasksForRev to assign to user:" + this.getUserId())
在这行日志的开头打印一些时间信息等,比如根据如上配置,打印出来的结果就是如下:

ERROR 2016-07-19 16:51:47 No TasksForRev to assign to user:374075382



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值