tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【技術メモ】Javaのロガーについてメモ

Javaのロガーについてメモ

概要

Log4jと、Commons Loggingと、LogBackと、SLF4Jの違いやあれやこれや。

すぐ忘れるので、思い出す用のメモ。詳しくは参考リンクへ。

前提

  • 「ロガー」と「ラッパー」の組み合わせでログを出力する
    • ロガー
      • ログを実際に出力する実装部分
      • log4j, LogBack など
    • ラッパー
      • 開発者がコード上に書くもの
      • Commons Logging, SLF4J など

とりあえずラッパーで書いておけば、実装(ロガー)は後から変えられる。

ロガー

Log4j

  • 様々な出力先が選択できる
  • ログの出力レベルやログフォーマットを設定で切替できる

3つの要素からなる

  • Logger:AppenderとLogLevelの指定
  • Appender:出力先の指定
  • Layout:出力形式の指定

※ この用語と概念を覚えておくと理解しやすい。

LogBack

Log4jの後継、つまり、より便利になったもの

特徴

  • Log4jに比べて、速度が速く、メモリ消費が少ない
  • logback.xmlの内容は、log4j.xmlとほぼ同じ

ラッパー

Commons Logging

複数のログライブラリに対してラッパーとして機能するライブラリ

もうあんまり使われないので省略。

SLF4J

SLF4J:Simple Logging Facade for Java

  • 様々なロギングフレームワーク用のファサードを提供するライブラリ
  • クラスパスに存在するjarファイルによって、自動でロギング実装を変更できる

参考リンク