2017-02-10 5 views
0

私はWebアプリケーションのWebサーバーとしてTomcatを使用し、ログフレームワークとしてはLogbackを使用します。私のアプリはいくつかのモジュールで構成され、それぞれにlogbackコールが含まれています。Tomcatディレクトリとプロジェクトフォルダの両方にログバックします

<configuration scan="true" scanPeriod="30 seconds"> 

<appender name="ACTION-FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>action_log.log</file> 
     <append>true</append> 
     <encoder> 
      <pattern>%date %level %logger{10}[%file:%line] %msg%n</pattern> 
     </encoder> 
    </appender> 

<logger name="action" level="${logger.level.root:-INFO}" additivity="false"> 
     <appender-ref ref="ACTION-FILE"/> 
    </logger> 

<root level="${logger.level.root:-INFO}"> 
     <appender-ref ref="CONSOLE" /> 

    </root> 

</configuration> 

だから、問題は、私はTomcatのフォルダではなく、プロジェクト全体だけでなくaction_log.logを見つけることだということです:私は、次のlogback.xmlの設定を指定しました。あなたは問題を見つけ出すのを助けてくれますか?

P.S.この問題は、さまざまなIDEで再現可能です。

+0

「プロジェクト全体」とはどういう意味ですか?また、ログも同じです(例:同じログエントリが2回記録されていますか? –

+0

プロジェクト全体を通して、私はロガーを使用するあらゆるサービスを意味していました。はい、ログはまったく同じです – antongarakh

答えて

1

ログバックファイルappenderは、ログクラスに関連するファイル名を使用します。集中ログファイルを使用する場合は、たとえば、ロギングディレクトリのプロパティを設定し、それに応じてファイル名を設定します。あなたのアペンダの構成で

<property name="LOG_DIR" value="/home/user/tomcat/logs" /> 
あなたのlogbackの設定で

<file>${LOG_DIR}/action_log.log</file> 

設定の詳細については、https://logback.qos.ch/manual/configuration.htmlを参照してください。

関連する問題