2015-05-25 142 views
0

我是Log4j框架的新手,在阅读了一些东西之后,我对日志机制有了一些了解,但仍对 有些疑问。如何使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 

在上面的代码中的第一行包含两个附加目的地(文件,C)后,我们将具有附加器两个文件和C.所以按我理解日志将类别的将被存储到控制台和sample.log。请让我知道,如果我错了。

log4j.rootLogger =信息,A1和各自的属性不能正确使用?

log4j.rootLogger =信息,C,文件:这一行是关于根记录器,我认为在我的情况下,它是没有用的,因为它在最后一行定义,并没有定义在这里的属性。

请可以在任何身体证实我的理解,并建议我,如果在上面的配置

+0

为什么我没有得到任何回应这个简单的查询? –

回答

0

根记录器驻留在记录器层次结构的顶部所需的任何变化。它有三种方式:例如:

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

rootLogger是所有appender的父亲。给定记录器的每个启用的记录请求将被转发给该记录器中的所有appender以及层次结构中较高的appender(包括rootLogger)。