アプリ終了時のログが出力されない [log4j2]
仕事でlog4j2を使ってログ出力していたときの話ですが、アプリを終了した際にログが出力されずに困っていました。
具体的には以下のような感じです。
//終了時に実行される log.info("end app..."); //これは出力される //色々終了処理 log.info("finish..."); //これが何故か出力されない
そこでprintで画面に出力してみたところ、print文のログは出力されてました。
そのため、log4j2のせいでログが出力されていないことがわかりました。
そこで、色々調べて最終的に以下公式サイトを眺めていたところ、このような記述がありました。
- shutdownHook
そこで、log4j.xmlにdisableの項目を追加したところ、最後までちゃんとログが出力されるようになりました!
<Configuration disable="false"> //... </Configuration>
気づくまでに結構時間がかかったんですが、やっぱり困ったら公式サイトを見るべきですね。。。