log4j - 空日志文件 -

时间:2015-04-26 19:17:08

标签: java tomcat logging log4j

我有一个Java应用程序,其中包含以下log4j配置属性,名为log4j-DEV.properties:

################################################################
# Root logger option
###############################################################
log4j.rootLogger=ALL, file,stdout

###############################################################


###############################################################
# Logger response
###############################################################
log4j.logger.response=ALL, proxyLog
log4j.additivity.response=false 

###############################################################



#############################################################
# APPENDER
############################################################# 

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\log\\application.log
log4j.appender.file.Threshold = ALL
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold = ALL
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to a log file
log4j.appender.proxyLog=org.apache.log4j.RollingFileAppender
log4j.appender.proxyLog.Threshold = ALL
log4j.appender.proxyLog.File=C:\\log\\proxyLog.log
log4j.appender.proxyLog.MaxFileSize=10MB
log4j.appender.proxyLog.MaxBackupIndex=1
log4j.appender.proxyLog.layout=org.apache.log4j.PatternLayout
log4j.appender.proxyLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

我使用Tomcat作为Application Server,然后使用参数 -Dlog4j.configuration =" log4j-DEV.properties"

启动它

当应用程序启动时,文件 C:\ log \ application.log C:\ log \ proxyLog.log 已创建,但是为空,尽管应用程序写入日志指令:

Log log = LogFactory.getLog(getClass());
log.info("Test log");

有什么问题?

全部谢谢

1 个答案:

答案 0 :(得分:3)

我改变了我的代码:

Log log = LogFactory.getLog(getClass());
log.info("Test log");

Logger logger = null; 
logger = Logger.getRootLogger(); 
logger.info("TEST");

log4j配置没问题,我改变了应用程序的行为以便直接使用log4j类,现在日志正确显示。

由于