在我的程序中,我有2个记录器,现在我必须将它们保存到文件中,但是没有创建文件。
log4j.rootLogger=arcLog, errorLog, INFO
#ARC-logger properties
log4j.appender.arcLog=org.apache.log4j.FileAppender
log4j.appender.arcLog.File=logs/ARC-1Logger.log
log4j.appender.arcLog.Append=true
log4j.appender.arcLog.maxFileSize=5MB
log4j.appender.arcLog.maxBackupIndex=5
log4j.appender.arcLog.threshold=INFO
log4j.appender.arcLog.layout=org.apache.log4j.PatternLayout
log4j.appender.arcLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.appender.arcSLog=org.apache.log4j.FileAppender
log4j.appender.arcSLog.File=logs/ARC-Session_Logger.log
log4j.appender.arcSLog.Append=true
log4j.appender.arcSLog.maxFileSize=1024KB
log4j.appender.arcSLog.maxBackupIndex=5
log4j.appender.arcSLog.threshold=WARN
log4j.appender.arcSLog.layout=org.apache.log4j.PatternLayout
log4j.appender.arcSLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.category.arcLog=TRACE, ARC-Logger
log4j.additivity.arcLog=false
log4j.category.errorLog=WARN, ARC-Session_Logger
log4j.additivity.arcSLog=false
要使用记录器:
loggerF = Logger.getLogger("ARC-Logger");
loggerS = Logger.getLogger("ARC-Session_Logger");
发现Appenders因为没有错误,但没有创建文件。 是不是这个项目是我在另一个项目中与Hibernate一起使用的库,它还有另一个记录器?
答案 0 :(得分:0)
我看到一些不太正确的事情。您的属性文件看起来应该更像这样:
log4j.rootLogger=INFO, arcApp, arcSApp
#ARC-logger properties
log4j.appender.arcApp=org.apache.log4j.RollingFileAppender
log4j.appender.arcApp.File=logs/ARC-1Logger.log
log4j.appender.arcApp.Append=true
log4j.appender.arcApp.maxFileSize=5MB
log4j.appender.arcApp.maxBackupIndex=5
log4j.appender.arcApp.threshold=INFO
log4j.appender.arcApp.layout=org.apache.log4j.PatternLayout
log4j.appender.arcApp.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.appender.arcSApp=org.apache.log4j.RollingFileAppender
log4j.appender.arcSApp.File=logs/ARC-Session_Logger.log
log4j.appender.arcSApp.Append=true
log4j.appender.arcSApp.maxFileSize=1024KB
log4j.appender.arcSApp.maxBackupIndex=5
log4j.appender.arcSApp.threshold=WARN
log4j.appender.arcSApp.layout=org.apache.log4j.PatternLayout
log4j.appender.arcSApp.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.logger.arcLog=TRACE, arcApp
log4j.additivity.arcLog=false
log4j.logger.arcSLog=WARN, arcSApp
log4j.additivity.arcSLog=false
然后你应该可以打电话给你的课程:
private static final Logger loggerF = Logger.getLogger("arcLog");
private static final Logger loggerS = Logger.getLogger("arcSLog");
我在您的房产中看到的问题很少:
arcLog
和arcSLog
是追加者,而不是记录器,这可能会让您感到困惑。 maxFileSize
和maxBackupIndex
,您需要的是RollingFileAppender
,而不是FileAppender
。 log4j.logger.arcLog=TRACE, arcApp
,您可以在其中定义记录器和先前声明的appender的级别。