繁体   English   中英

如何正确进行Log4j配置

[英]how to make Log4j configuration properly

我是Log4j框架的新手,在阅读了一些东西之后,我对日志记录机制有了一些想法,但是我仍然对以下属性有些怀疑。

log4j.category.com.cloud.sample=INFO, file, C
log4j.additivity.com.cloud.sample=true

log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.out
log4j.appender.C.ImmediateFlush=true
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%-5p %d [%t] %m%n

#log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

### direct messages to file ###
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/var/basic/logs/sample.log
log4j.appender.file.Append=true
log4j.appender.file.MaxFileSize=10MB
# mylog.log.10 \u307e\u3067\u4fdd\u6301
log4j.appender.file.MaxBackupIndex=50
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %c{1} - %m%n

log4j.rootLogger=INFO, C, file

在上面代码的第一行中,包含两个appender(文件C),之后我们将同时拥有文件和C的appender。因此,根据我的理解,类别日志将存储到Console和sample.log。 如果我错了,请告诉我。

log4j.rootLogger = INFO,A1和相应的属性未使用对吗?

log4j.rootLogger = INFO,C,文件:这行是关于root logger的,我认为这没有用,因为它是在最后一行定义的,并且这里没有定义属性。

请任何人确认我的理解并建议我上述配置是否需要任何更改

根记录器位于记录器层次结构的顶部。 它在三种方式上是例外的:

it always exists,
its level cannot be set to null
it cannot be retrieved by name.

rootLogger是所有添加程序的父亲。 给定记录器的每个启用的日志记录请求都将转发给该记录器中的所有附加程序以及层次结构中较高的附加程序(包括rootLogger)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM