例外のlogを快適に
TRANSCRIPT
一方 Rails は…
自分のアプリに含まれる行だけを filter していた
https://github.com/rails/rails/blob/master/railties/lib/rails/backtrace_cleaner.rb
指定したstack frame を非表示に
<pattern> %coloredLevel - %logger - %message%n %xException{full,play,akka,scala} </pattern>
深さは全部(full) “play” と “akka” と “scala” の行を除く
conversionRule を追加 (logback.xml)
<conversionRule conversionWord=“appEx” converterClass= “com.github.tkawachi.appexception.AppThrowableProxyConverter" />
appEx という名前で使えるようにする
指定したstack frame だけ表示
<pattern> %coloredLevel - %logger - %message%n %appEx{controllers,foo.bar} </pattern>
完全修飾クラス名が “controllers”, “foo.bar” から始まる
frame だけを表示。
<property name="appClassPrefixes" value=" controllers, views “/>
<pattern> %coloredLevel - %logger - %message%n %appEx{${appClassPrefixes}} </pattern>
prefix 指定が長くなる時は別定義して呼び出せます
まとめ• logback.xml をいい感じに書くとログが見やすくなる
• 指定クラスの stack frame だけ出すappexception-logback 作ったhttps://github.com/tkawachi/appexception-logback
• Feedback お待ちしています