2011-12-08 102 views
2

在我的Java控制檯應用程序中,我想將某些事件記錄到日誌文件中,並將某些事件記錄到控制檯。這是我現在已經Log4j記錄到多個文件

log4j.rootLogger=error, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 


log4j.appender.L1=org.apache.log4j.FileAppender 
log4j.appender.L1.layout=org.apache.log4j.PatternLayout 
log4j.appender.L1.layout.ConversionPattern=%-22d{dd/MMM/yyyy HH:mm:ss} – %m%n 
log4j.appender.L1.file=failedtoaddusers.log 

得到了我的Java應用程序,我用實例化兩個日誌實例

private static Logger log = Logger.getLogger(ActiveDirectoryManage.class); 
private static Logger failedToAddUsersLogger = Logger.getLogger("FailedToAddUsersLogging"); 

我的問題是,failedToAddUsersLogger.warn("xyz")也寫入到控制檯,除了日誌文件failedtoaddusers.log 。 我只是想要它寫入日誌文件而不是控制檯。 我該如何做到這一點?

回答

2

您需要設置加爲「假」(在log4j的手冊Appenders and Layouts部分閱讀更多關於記錄儀加):

log4j.additivity.FailedToAddUsersLogging=false 
log4j.logger.FailedToAddUsersLogging = your level, L1 

此外,請確保您有log4j的新版本之一,「可加性「設置從一開始就不可用。