问题描述
我有一个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用作应用程序服务器,然后使用参数 -dlog4j.configuration =" log4j-dev.properties"
当应用程序启动时,文件 c:\ log \ application.log 和 c:\ log \ proxylog.log 是为空的说明:
Log log = LogFactory.getLog(getClass()); log.info("Test log");
怎么了?
谢谢所有
推荐答案
我从:
更改了我的代码Log log = LogFactory.getLog(getClass()); log.info("Test log");
to
Logger logger = null; logger = Logger.getRootLogger(); logger.info("TEST");
log4j配置很好,我更改了应用程序的行为,以直接使用log4j类,现在该日志正确显示.
谢谢
问题描述
I have a Java Application with this following log4j configuration properties, called 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
I use Tomcat as Application Server and I launch it with parameter -Dlog4j.configuration="log4j-DEV.properties"
When application starts, the file C:\log\application.log and C:\log\proxyLog.log are created but are empty although application writes log with instruction:
Log log = LogFactory.getLog(getClass()); log.info("Test log");
What is wrong?
Thanks all
推荐答案
I changed my code from:
Log log = LogFactory.getLog(getClass()); log.info("Test log");
to
Logger logger = null; logger = Logger.getRootLogger(); logger.info("TEST");
The log4j configuration was fine, I changed the behavior of application in order to use directly log4j classes and now the log appears correctly.
Thanks