Nach dem Empfang auf log4j redirect stdout to DailyRollingFileAppenderProtokollierung stderr und stdout mit log4j
Und es wurde bis zum einem gewissen Punkt zu arbeiten, und es blieb dann aus irgendeinem Grund zu arbeiten.
Irgendeine Idee von was kann falsch sein? Ich habe verifiziert und habe genau den gleichen Code wie tieSystemOutAndErrToLog.
Mein log4j.properties ist:
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
insbesondere im nicht der Lage, dieses Ereignis zu protokollieren, die in catalina.out protokolliert:
Dec 10, 2010 1:40:29 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
AKTUALISIERT ANTWORT: so i endlich herausgefunden. Aus irgendeinem obskuren Grund, den ich nicht einmal ergründen kann, leitet tomcat nicht abgefangene Ausnahmen durch log4j und sie werden auf stdout ausgegeben. Ich musste sie auf einer Ausnahmeseite protokollieren.
nein. Ich sehe Dinge in /var/log/tomcat6/catalina.out protokolliert werden, aber nichts in /export/log/alpha/frontend.log. Und wie ich bereits erwähnt habe, funktionierte es sehr gut. Ich bin mir nicht sicher, was passiert ist. – Ricardo
Bedeutet die Tatsache, dass sich catalina.out einloggt, wirklich, dass Sie nicht wie erwartet eine andere log4j.properties-Datei aufnehmen? – Joel
Nein, ich habe keine andere Eigenschaftendatei. Außerdem ist catalina.out ein Standard-Escape für logging, d. H. Log4j fehlt diese Ereignisse aus irgendeinem Grund, den ich nicht verstehen kann. – Ricardo