2016-06-21 10 views
2

私は、デフォルトのログバック設定を使用して、SpringBoot 1.3.5.RELEASEのコンソールとファイルログからハイフンを削除しようとしています。SpringBootロギング - すべてのログエントリの開始時に無関係なハイフン

logging: 
    pattern: 
    console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %clr([${spring.application.name}]){red} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %X{req.requestId} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%rEx}' 

ファイルログパターンは色分けなしで、似ています:

ログのパターンは次のようになります。両方とも、すべての行にを出力します。の先頭にハイフンが付いているため、syslog-logstash-grokのフィル​​タリングがやりにくくなります。出力例:

2016-06-21 11:52:00.576 [my-app] INFO etc.. (application started) 
-2016-06-21 11:52:00.583 [my-app] DEBUG etc.. 
-2016-06-21 11:52:00.583 [my-app] INFO etc.. 

この動作については、ドキュメントには何も表示されません。可能であれば、それを排除する方法について助言を歓迎してください!

更新以下エドガーの答えに

おかげで、それは、これは私たちのログ記録パターンの最後に次によって引き起こされた判明:

${LOG_EXCEPTION_CONVERSION_WORD:-%rEx} 

私はそれを置き換える:

$ {LOG_EXCEPTION_CONVERSION_WORD:%rEx}

et voila、次の行の先頭にハイフン消える。 http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-configuration

答えて

1

フルログ形式を指定せずに診断するのは難しいです。私は、我々のコードで同様のものを見ていると、形式でこれを含めてに関連すると思わ:

$ {LOG_EXCEPTION_CONVERSION_WORD: - %WEX}

あなたがそれを使用している場合は、ハイフン月%wの前のものになります。私はこれの意図された目的が何であるか分かりません。見つけたら、私の答えに追加します。

+0

${LOG_EXCEPTION_CONVERSION_WORD:%rEx} 
ああ、ちょうど' $からハイフンを除去します。私はそれが関係しているとは思わなかったので、私はそれを含めていなかった..完全なログパターンと私の質問を更新する - ありがとう! –

4

問題はlogging.pattern.consoleのこの部分である:

${LOG_EXCEPTION_CONVERSION_WORD:-%rEx} 

:-はLogbackのデフォルト値の区切りであり、あなたがlogback.xmlに使うべきものです。しかし、あなたはapplication.propertiesで設定しています。ここでは、Spring Frameworkのデフォルト値デリミタ(:)を使用してください。

:-を使用していたので、LOG_EXCEPTION_CONVERSION_WORDの値を使用しています。設定されていない場合は、代わりに-%rExを使用してください。

正しい構文は次のとおりです - {:%レックスLOG_EXCEPTION_CONVERSION_WORD} `それほど単純

+0

ドキュメントリンクは[こちら](http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-custom-log-configuration)です。検索するには、「Spring Bootの構文を使用する必要があります' – Hippoom

関連する問題