2017-02-16 10 views
0

私は "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を設定するにはどうすればよいですか?

ありがとうございました。

+0

$ {webApp.root}の代わりに$ {catalina.home}を使用して、ログファイルを取得しているかどうかを確認してください。 – SachinSarawgi

+0

webappsのツリーの* .logを検索しようとしましたか?そして設定ではそれは "log ** s **"ではなく "log ** s **"です。 – Fildor

+0

@SachinSarawgiはい、$ {catalina.home}を使用している場合、Tomcat 7.0 \ logsフォルダのswinguserver.logファイルを取得できます。 – Rangtian

答えて

0

${webApp.root}の代わりに${catalina.home}をご利用ください。

${catalina.home}を使用すると、tomcatディレクトリを指します。 catalina.shまたはcatalina.batファイルにcatalina.homeという変数があります。

あなたは次のように単に場所を編集内部のルートディレクトリをログに記録する場合:

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

これにより、ログがROOT/logsディレクトリに転送されます。

+0

こんにちはSachinSarawgi、ありがとうございました。 $ {webApp.root}を$ {catalina.home}に変更すると、Tomcat 7.0 \ logsの下でswinguserver.logを取得できます。 Tomcat 7.0/webapps/ROOT/logsの下にログを書き込むようにlog4jを設定するにはどうすればよいですか? $ {webApp.root}の何が問題なのですか? – Rangtian

+0

@Rangtianさんは、答えに記載されたフルパス(ROOT /ログ付き)を与えようとしましたか? – SachinSarawgi

+0

これはwebApp.rootで行いますか?または上記の答えは大丈夫です。 – SachinSarawgi

関連する問題