简体   繁体   English

如何正确进行Log4j配置

[英]how to make Log4j configuration properly

I am new to the Log4j framework and after reading some stuff i got some fare idea about logging mechanism, but still i have some doubt about the following properties. 我是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

In the first line of the above code contains two appenders(file, C) after that we will be having appender for both file and C. So as per my understanding logs will of category will be stored to Console and sample.log. 在上面代码的第一行中,包含两个appender(文件C),之后我们将同时拥有文件和C的appender。因此,根据我的理解,类别日志将存储到Console和sample.log。 Please let me know if i am wrong. 如果我错了,请告诉我。

log4j.rootLogger=INFO, A1 and respective properties are not used right? log4j.rootLogger = INFO,A1和相应的属性未使用对吗?

log4j.rootLogger=INFO, C, file: This line is about root logger, I think in my case it is not useful, because it is defined at the last line and there is no properties defined over here. log4j.rootLogger = INFO,C,文件:这行是关于root logger的,我认为这没有用,因为它是在最后一行定义的,并且这里没有定义属性。

Please could any body confirm my understanding and suggest me if any changes required in the above configuration 请任何人确认我的理解并建议我上述配置是否需要任何更改

The root logger resides at the top of the logger hierarchy. 根记录器位于记录器层次结构的顶部。 It is exceptional in three ways: 它在三种方式上是例外的:

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

The rootLogger is the father of all appenders. rootLogger是所有添加程序的父亲。 Each enabled logging request for a given logger will be forwarded to all the appenders in that logger as well as the appenders higher in the hierarchy (including rootLogger). 给定记录器的每个启用的日志记录请求都将转发给该记录器中的所有附加程序以及层次结构中较高的附加程序(包括rootLogger)。

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

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