異邦人になってみた~~上海生活写真ブログ

中国上海市在住です。もう10年を超えました。休日は星空(天の川)撮影やポートレート撮影等、連休時はカメラを持って中国各地を旅行してます。最近は内モンゴル自治区によく行っています。

 このブログについて(about)
  中国旅行/観光/写真記事一覧(省別)

log4J2.xmlの設定 ライン出力 --備忘録

log4j2.xmlを使ってログを表示させるとき
メソッド名と行番号を出したかったのですが、
PatternLayoutに%L %Mを設定してもログが出てこないので、
ドキュメントを読んでみた。と言うか見てみた(英語があんまり得意じゃないので)
オプションのLのところを見ると
Generating location information is an expensive operation and may impact performance. Use with caution.
って書いてあるので
http://logging.apache.org/log4j/2.x/manual/layouts.html#LocationInformation
リンクをたどって確認してみると includeLocation="true"の設定がいるそうです。
そういえば拾ってきたXMLファイルはincludeLocation="false"にしてあったような。。
設定しなおしてみるとちゃんと出ました。
ドキュメントはちゃんと見ましょうね。。
非同期設定にするときは最後のloggersのところをasyncRootにすればOKみたいです。

<loggers>
<asyncRoot level="trace" includeLocation="true">
<appender-ref ref="Console" />
<appender-ref ref="File" />
</asyncRoot>
</loggers>