Apache Log4j情報
Apache Log4jとは
Apache Log4j(アパッチ ログフォージェイ)は、 オープンソースのJava プログラム用のロギングユーティリティ(API)です。
Apache Log4jは、2001年1月8日にバージョン1.0がリリースされて以来、Javaアプリケーションの標準的なロギングユーティリティとして長く利用されおり、単にLog4jと呼ばれることが多いです。
Apache Log4jは、設定ファイルでの設定により、デバッグ情報やエラー情報などをプログラム内からコンソール、ファイル、その他ログサーバ等に出力することができます。
また、Apache Log4jは、パフォーマンスにも十分配慮して設計されており、実際のログ出力はとても速く、柔軟性のあるロギングAPIとして世界中で広く利用されています。
2021年12月、Apache Log4j に "Log4Shell"と呼ばれる重大なセキュリティ脆弱性(CVE-2021-44228)が報告されています。これを発端に、複数の脆弱性(CVE-2021-45046、CVE-2021-45105、CVE-2021-44832)が次々と報告され、SI企業やメーカーは対応に追われ、世界的に大きな影響を与える結果となりました。古いバージョンのLog4j 2.xでは、この脆弱性を狙った攻撃を受ける可能性が高いため、早急に最新版へのアップデートやワークアラウンド対応を実施することが推奨されます。
主な機能
主な機能は以下のとおりです。
- ログ出力方法指定機能(Logger)
- ログ出力先指定機能(Appender)
- ログ出力フォーマット指定機能(Layout)
- ログフィルタリング機能(Filter)
主な特徴
主な特徴は以下のとおりです。
多彩なログ出力先 |
ファイル、OutputStream、java.io.Writer、 リモートLog4jサーバ、リモートUnix Syslogデーモン、NTイベントログといったさまざまなログ出力先を設定ファイルで指定可能 |
---|---|
高速 |
ログ出力が非常に高速であるため、アプリケーションの実行速度を低下させにくい |
柔軟性 |
ファイルにより設定を行うため、Log4jを使用しているアプリケーションを変更することなく各種設定変更が可能 |
リモート監視、制御 |
JMXのサポートが組み込まれているため、JMX経由でアクセスすることで、アプリケーションを起動したままLog4jの各種設定変更が可能 |
導入事例
Apache Log4jは、オープンソースのJava プログラム用のロギングユーティリティとして、中小から大規模まで、さまざまな業種・システムで幅広く利用されています。
Apache Log4jのログレベル
Log4jは、6つのログレベルを標準提供します。この他に利用者が任意のログレベルを追加することも可能です。デフォルトのログレベルを高い(情報量が少ない)ものから低い(情報量が多い)ものへと順に並べると下表の通りとなります。
FATAL |
致命的なエラー。プログラムの異常終了を伴うようなもの。コンソール等に即時出力することを想定 |
---|---|
ERROR |
エラー。予期しないその他の実行時エラー。コンソール等に即時出力することを想定 |
WARN |
警告。廃要素となったAPIの使用、APIの不適切な使用、エラーに近い事象など、実行時に生じた異常とは言い切れないが正常とも異なる何らかの予期しない問題。コンソール等に即時出力することを想定 |
INFO |
情報。実行時の何らかの注目すべき事象(開始や終了など)。コンソール等に即時出力することを想定。従ってメッセージ内容は簡潔に止めるべき |
DEBUG |
デバック用の情報。システムの動作状況に関する詳細な情報。コンソールではなくログ上にだけ出力することを想定 |
TRACE |
トレース情報。更に詳細な情報。コンソールではなくログ上にだけ出力することを想定 |
なお、すべてのレベルのログを出力する場合は「ALL」を、ログ出力を停止する場合は「OFF」を指定します。
動作環境
前提となる動作環境は、以下のとおりです。
-
サーバOS
Java Runtime Environment(JRE)の動作環境に準ずる
- その他動作環境
- Log4j 2.3.2まで: Java 6以降(すでにEOL)
- Log4j 2.12.4 まで:Java 7以降
- Log4j 2.13.0 以降: Java 8以降
※バージョンによって異なりますので、詳細はお問い合わせください。
Apache Log4jのライセンス
Apache Log4jは、Apache2.0ライセンスです。 Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
製品ダウンロード
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。