2017-06-07 1 views
0

私はweb-mvcアプリケーションでspring-boot-start-web依存関係を使用しており、ログバックを利用しています。私は、次の設定スプリングブートログバックがファイルにロギングしない

<property name="MY_LOG_FILE" value="C:\mylog.log" /> 

<appender name="MY_APPENDER" 
    class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <encoder> 
     <pattern>${FILE_LOG_PATTERN}</pattern> 
    </encoder> 
    <file>${MY_LOG_FILE}</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>${MY_LOG_FILE}.%i</fileNamePattern> 
    </rollingPolicy> 
    <triggeringPolicy 
     class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <MaxFileSize>10MB</MaxFileSize> 
    </triggeringPolicy> 

<logger name="com.mydomain.myapp" level="INFO" additivity="false"> 
    <appender-ref ref="CONSOLE" /> 
    <appender-ref ref="MY_APPENDER" /> 
</logger> 

私は私の中でロガーを使用して、私の静的リソースディレクトリにあるlogback-spring.xmlファイルを持っていますコントローラはコンソール出力に正しくログを記録しますが、ファイルはどこにも見つかりません。限り、私はそれが正しく設定されているように私はオンラインで見つけることができる限り、明らかに私はそうではありません。

編集:これは親プロジェクトでMaven Update Projectを実行することで解決されましたが、このプロジェクトはより大きなモジュールシステムの一部でした。

+2

ログバック設定ファイルをに変更して問題が存在し、設定がOKであることを確認します。また、C:\に書き込むために管理者権限が必要ですか?パスを別のものに変更してみてください。 – vempo

+0

@vempoアイデアありがとう。私は間違いなく許可を必要とすべきではない場所に書き込むためにログファイルを変更しようとしましたが、まだ運がありません。 debug = "true"を設定しても、アプリを起動するときに何の効果もないようです。 Hmmm – zero01alpha

+0

これはあなたがこの設定ファイルで動作していないことを示している可能性があります。正しいファイルがロードされていることを確認するには、https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-configurationを確認してください。 – vempo

答えて

4

静的ディレクトリではなく、resourcesディレクトリにlogback-spring.xmlを配置します。

あなたのクラスパスのルートにlogback.xmlを入れた場合は、あなたのターゲット/ classesディレクトリは、デフォルトではlogback-spring.xml

を持っているかどうかをチェックし、それがピックアップされます、その後、Mavenを持つプロジェクトをビルドしますそこから(またはlogback-spring.xmlでBootが提供するテンプレート機能を利用する)

+1

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html – lihongxu

+0

申し訳ありませんが、私は完全にこの質問を入力することを台無しにしました、私はmysのリソースではなく、リソース/静的。私はそれが拾われていることを知っています。例えば、存在しないアペンダーを指定すると、何らかの理由で彼女の親プロジェクトでmavenの更新を行っていると、 – zero01alpha

+0

が爆発して動作を開始するからです。この回答は私にそれを理解させるようになったので、私はそれを受け入れられたものとしてマークします。ありがとう。 – zero01alpha

関連する問題