Я googled «Весна + log4j», и вот что я получаю. При запуске Eclipse + Tomcat я могу видеть журналы в консоли Eclipse, но я не могу найти какой-либо пользовательский файл журнала в Tomcat. Есть ли что-то неправильно настроенное в моих log4j.properties?Log4j не может войти в файл
# Root Logger
log4j.rootLogger=DEBUG, stdout, logfile
### direct log messages to stdout ###
log4j.logger.com.ibatis = DEBUG, logfile
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG, logfile
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG, logfile
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG, logfile
log4j.logger.java.sql.Connection = DEBUG, logfile
log4j.logger.java.sql.Statement = DEBUG, logfile
log4j.logger.java.sql.PreparedStatement = DEBUG, logfile
log4j.logger.java.sql.ResultSet = DEBUG, logfile
############################## Console Log Configuration ##############################
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
############################## File Log Configuration ##############################
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.MaxFileSize = 100K
log4j.appender.logfile.MaxBackupIndex = 100
log4j.appender.logfile.File = ${webApp.root}/logs/swinguserver.log
log4j.appender.logfile.DatePattern = '.'yyyy-MM-dd
# What does Append=true mean?
log4j.appender.logfile.Append=true
$ {webApp.root} объявлен в web.xml:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webApp.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
Я думал swinguserver.log будет создан в D: \ Apache Software Foundation \ Tomcat 7.0 \ WebApps \ ROOT \ журналы, но ничего нет.
Когда я меняю $ {webApp.root} на $ {catalina.home}, как предлагал @SachinSarawgi, я могу получить swinguserver.log под Tomcat 7.0 \ logs. Как настроить log4j для записи журнала под Tomcat 7.0/webapps/ROOT/logs?
Благодарим за помощь.
Вместо $ {webApp.root} попробуйте использовать $ {catalina.home} и проверьте, не получен ли файл журнала. – SachinSarawgi
Вы пытались найти * .log в этом дереве под webapps? И в config это sais «log ** s **», а не «log» – Fildor
@SachinSarawgi Да, я могу получить файл swinguserver.log в папке Tomcat 7.0 \ logs при использовании $ {catalina.home} – Rangtian