スレッド名とロガー名を微調整したいので、logback の CustomLayout を作成しています。ログバックのドキュメントによると
上記の例では、doLayout メソッドは、イベントに含まれる最終的な例外を無視します。実際のレイアウトの実装では、おそらく例外の内容も出力したいと思うでしょう。
もちろん、デフォルトの実装でスタック トレースを出力したいのですが。しかし、そうするための指示が見つかりません。ソースをダウンロードして見回しました。以下はうまくいくようです:
/**
* How much stack to print if there's an exception.
*/
private List<String> stackOptionList = Arrays.asList("full");
@Override
public String doLayout(ILoggingEvent event) {
StringBuffer sbuf = new StringBuffer(128);
. . .
IThrowableProxy proxy = event.getThrowableProxy();
if (proxy != null) {
ThrowableProxyConverter converter = new ThrowableProxyConverter();
converter.setOptionList(stackOptionList);
converter.start();
sbuf.append(converter.convert(event));
sbuf.append(CoreConstants.LINE_SEPARATOR);
}
. . .
return sbuf.toString();
}
より良い/より承認された方法はありますか?