2017-02-16 4 views
0

Я 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?

Благодарим за помощь.

+0

Вместо $ {webApp.root} попробуйте использовать $ {catalina.home} и проверьте, не получен ли файл журнала. – SachinSarawgi

+0

Вы пытались найти * .log в этом дереве под webapps? И в config это sais «log ** s **», а не «log» – Fildor

+0

@SachinSarawgi Да, я могу получить файл swinguserver.log в папке Tomcat 7.0 \ logs при использовании $ {catalina.home} – Rangtian

ответ

0

Вместо ${webApp.root} попробуйте использовать ${catalina.home}.

Когда вы используете ${catalina.home}, он укажет на ваш каталог tomcat. Вы можете найти переменную catalina.home в файле catalina.sh или catalina.bat.

Если вы хотите войти внутрь корневого каталога просто изменить местоположение следующим образом:

${catalina.home}\/webapps\/ROOT\/logs\/swinguserver.log.

Это направит журнал в ваш каталог ROOT/logs.

+0

Привет, SachinSarawgi, спасибо за ваше время. Когда я меняю $ {webApp.root} на $ {catalina.home}, я могу получить swinguserver.log в Tomcat 7.0 \ logs. Как настроить log4j для записи журнала под Tomcat 7.0/webapps/ROOT/logs? Что случилось с моим $ {webApp.root}? – Rangtian

+0

@ Rangtian сделал U пытался дать полный путь (с ROOT/журналы), упомянутые в ответе ?? – SachinSarawgi

+0

Вы хотите сделать это с помощью webApp.root ?? Или выше ответ в порядке. – SachinSarawgi

Смежные вопросы