我有一個Web應用程序。當我運行'mvn test'時,它將調試消息記錄到控制檯,因爲我配置了它。但是當我將它部署到tomcat時,我沒有看到應用程序的日誌。我非常確定,我在戰爭的正確位置獲得了log4j.properties文件,因爲當我更改部署的/var/lib/tomcat7/webapps/worldmodel/WEB-INF/classes/log4j.properties中的值時記錄器或休眠和觸摸web.xml,我看到/ chease查看調試日誌休眠。但是,我無法讓我的應用程序的調試消息與我嘗試過的任何配置一起記錄下來。 這裏是我該怎麼辦日誌:log4j與tomcat不記錄什麼是登錄mvn測試
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
logger = Logger.getLogger(BaseObject.class);
log(Level.DEBUG,"message");
這裏是log4j.properties進行測試:
log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.SYSLOG = org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost = 127.0.0.1
log4j.appender.SYSLOG.layout = org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.SYSLOG.Facility = LOCAL0
log4j.logger.org.rulez.magwas.worldmodel=DEBUG
#log4j.logger.org.hibernate.SQL=debug
#log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=trace
#log4j.logger.org.hibernate.type=trace
這裏是被部署在log4j.properties:
log4j.rootLogger=INFO, SYSLOG
log4j.appender.SYSLOG = org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost = 127.0.0.1
log4j.appender.SYSLOG.layout = org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.SYSLOG.Facility = LOCAL0
log4j.logger.org.rulez.magwas.worldmodel=DEBUG
#log4j.logger.org.hibernate.SQL=debug
#log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=trace
#log4j.logger.org.hibernate.type=trace
我得到這樣的線路在mvn測試中:
2013-05-21 07:12:17,751 [main] DEBUG org.rulez.magwas.worldmodel.BaseObject- setValue0e9é 072r 074t 0e9é 06bk
整個項目:https://github.com/magwas/worldmodel/commit/c6b08da0a733d9b61257c669e0cc4af9e59444be
編輯:
OK,算了吧,代碼(在一個bean getter和setter方法)似乎沒有被調用,也許休眠套/直接獲取價值?
你確定你的Tomcat安裝沒有其他的記錄器嗎? –
您確定正在進行日誌記錄的代碼正在被調用嗎?嘗試用sysout替換它來確認。 – gkamal
請參閱問題中的編輯。我是否應該爲每個從中登錄的課程實例化記錄器? –