收到后 log4j redirect stdout to DailyRollingFileAppender
它一直工作到某个点,然后由于某种未知的原因它停止工作。
任何可能出错的想法?我验证并运行与tieSystemOutAndErrToLog完全相同的代码。
我的log4j.properties是:
log4j.rootLogger = INFO, rollingFile, CONSOLE
log4j.logger.org.hibernate=INFO
log4j.logger.com.mchange=INFO
log4j.logger.com.opensymphony=WARN
log4j.logger.com.opensymphony.xwork2.ognl=ERROR
log4j.logger.org.hibernate.SQL=DEBUG, rollingFile
log4j.additivity.org.hibernate.SQL=false
#log4j.logger.com.mchange.v2.c3p0.impl.NewPooledConnection=DEBUG
#log4j.logger.com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool=DEBUG
#log4j.logger.com.mchange.v2.c3p0.impl.DefaultConnectionTester=DEBUG
log4j.logger.com.mchange.v2.resourcepool.BasicResourcePool=INFO
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=/export/log/alpha/frontend.log
log4j.appender.rollingFile.MaxFileSize=10MB
log4j.appender.rollingFile.MaxBackupIndex=5
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %p %t %c - %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - %p %t %c - %m%n
特别是,我无法记录catalina.out中记录的此事件:
Dec 10, 2010 1:40:29 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
更新的答案: 所以我终于想通了。由于某些模糊不清的原因,我甚至无法理解,tomcat没有通过log4j路由未捕获的异常,并且它们被转储到stdout,我不得不将它们记录在异常页面中。
答案 0 :(得分:1)
您是否可以引用包含其自己的log4j.property?
的JAR文件答案 1 :(得分:0)
您可以添加“-Dlog4j.debug”以查看您正在使用的log4j文件
答案 2 :(得分:0)
没有(Tomcat进程所有者的)权限写入目标日志文件? :)