2015-05-25 318 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)。