私は "Spring + log4j"をgoogledしています。 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}を@SachinSarawgiとして$ {catalina.home}に変更すると、Tomcat 7.0 \ logsの下でswinguserver.logを取得できます。 Tomcat 7.0/webapps/ROOT/logsの下にログを書き込むようにlog4jを設定するにはどうすればよいですか?
ありがとうございました。
$ {webApp.root}の代わりに$ {catalina.home}を使用して、ログファイルを取得しているかどうかを確認してください。 – SachinSarawgi
webappsのツリーの* .logを検索しようとしましたか?そして設定ではそれは "log ** s **"ではなく "log ** s **"です。 – Fildor
@SachinSarawgiはい、$ {catalina.home}を使用している場合、Tomcat 7.0 \ logsフォルダのswinguserver.logファイルを取得できます。 – Rangtian