コンテンツにスキップ

Log4j

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Apache Log4j
開発元 Apacheソフトウェア財団
最新版

2.23.1[1] ウィキデータを編集 / 10 3月 2024年 (10 3月 2024)[2]

リポジトリ ウィキデータを編集
プラットフォーム クロスプラットフォーム
種別 ロギングツール
ライセンス Apache 2.0 ライセンス
公式サイト logging.apache.org/log4j
テンプレートを表示

Apache Log4jJavaCeki GülcüApache Software FoundationApache Logging ServicesLog4jJava

GülcüLog4jSLF4JLogback[3]

Apache Log4jLog4j 12[4]Log4j 2Log4j 1.21.3java.util.loggingLogback[5] Log4j 2Log4j 21.x[6]

201585Apache Logging Services Project Management CommitteeLog4j 1寿Log4j 1Apache Log4j 2[7]

[]

[]


Log4j6
FATAL 致命的なエラー。プログラムの異常終了を伴うようなもの。コンソール等に即時出力することを想定
ERROR エラー。予期しないその他の実行時エラー。コンソール等に即時出力することを想定
WARN 警告。廃要素となったAPIの使用、APIの不適切な使用、エラーに近い事象など、実行時に生じた異常とは言い切れないが正常とも異なる何らかの予期しない問題。コンソール等に即時出力することを想定
INFO 情報。実行時の何らかの注目すべき事象(開始や終了など)。コンソール等に即時出力することを想定。従ってメッセージ内容は簡潔に止めるべき
DEBUG デバッグ用の情報。システムの動作状況に関する詳細な情報。コンソールではなくログ上にだけ出力することを想定
TRACE トレース情報。更に詳細な情報。コンソールではなくログ上にだけ出力することを想定

設定ファイル[編集]


Log4jXML3Log4j使on/offoff使

 (Loggers) JavaFATALERRORLog4j

 (Appenders) FileAppenderConsoleAppenderSocketAppenderSyslogAppenderNTEventLogAppenderSMTPAppender使

 (Layouts) PatternLayoutCprintf使HTMLLayoutXMLLayoutHTMLXML使

設定例[編集]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC
"http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd">
<log4j:configuration>
    <!-- アペンダとは出力先のことであり、例えばコンソールやファイルを指す。
    アペンダの名前は好きに決めてよい。-->
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
 
    <!-- 'org.springframework'カテゴリのロガーは、infoレベル以上のメッセージのみロギングする。
    もしロガーをクラス名で検索し(例:Logger.getLogger(AClass.class))AClassが
    springframework.orgパッケージに属するなら、そのロガーはこのカテゴリに属する。-->
    <logger name="org.springframework">
        <level value="info"/>
    </logger>

    <!-- springは原則としてinfo以上のログしか取らないが、PropertyEditorRegistrySupportクラスについては
    デバッグログも欲しい-->
    <logger name="org.springframework.beans.PropertyEditorRegistrySupport">
        <level value="debug"/>
    </logger>
 
    <logger name="org.acegisecurity">
        <level value="info"/>
    </logger>
 
    <root><!-- rootカテゴリ -->
        <!-- 別途定義が無い限り、デバッグレベル以上の全てのメッセージをロギングする。-->
        <!-- 別途定義が無い限り、全てのログは「stdout」アペンダにてロギングされる。 -->
        <level value="debug" />
        <appender-ref ref="stdout" />
    </root>
</log4j:configuration>

(訳注:この設定例中に出現する「カテゴリ」という用語と、「ロガー」の旧称としての「カテゴリ」との関係は不詳。)

ログビューア[編集]

ApacheにはChainsaw英語版という別プロジェクトが存在しており、これはLog4jにて生成されたログファイルを利用する。ChainsawはJavaベースのGUIビューアであり、豊富な機能を持つ。ChainsawもLog4jに類似した設定ファイルを使用する。Log4j向けのビューアは他にもあるが(例:log2webオープンソースかつウェブベース)、Chainsawに比較して機能が少ない。

Log4Shell[編集]


2021129Log4j 2Log4ShellCVE-2021-44228[8]iCloudMinecraftSteam[9][10]2.15.0[11]Apache Software FoundationCVSS10[12]1214[8]

脚注[編集]



(一)^ Release 2.23.1 (10 3 2024). 22 3 2024

(二)^ Log4j  Changes - Apache Log4j 2. apache.org.  Apache Software Foundation. 20211218

(三)^ Logback Home.  Logback.qos.ch. 2014724

(四)^ Logback Home.  Logback.qos.ch. 2014724

(五)^ Goers, Ralph (20191215). Why was Log4j 2 created? (). Ralph Goers. 20211211

(六)^ Log4j 2 Guide - Apache Log4j 2: News.  Logging.apache.org (2014712). 2014724

(七)^ Apache Logging Services Project Announces Log4j 1 End-Of-Life; Recommends Upgrade to Log4j 2.  blogs.apache.org (201585). 201673

(八)^ ab.  IPA . NHK. 20211214

(九)^ Goodin (2021129). Zeroday in ubiquitous Log4j tool poses a grave threat to the Internet. Ars Technica. 20211210

(十)^ Worst Apache Log4j RCE Zero day Dropped on Internet. Cyber Kendra (2021129). 20211210

(11)^ Apache Log4j Security Vulnerabilities. 20211210

(12)^ Mott, Nathaniel (20211210). Countless Servers Are Vulnerable to Apache Log4j Zero-Day Exploit. PC Magazine. 20211210

[]

ポート[編集]