1。序文
LOG4Jは、Apacheソフトウェアライセンスの下でリリースされたJavaで記述された信頼性が高く、高速で柔軟なロギングフレームワーク(API)です。 Log4Jは、C、C ++、C#、Perl、Python、Rubyなどの言語に移植されています。
LOG4Jは高度に構成可能であり、実行時に外部ファイルを介して構成できます。レコードの優先レベルに依存し、データベース、ファイル、コンソール、UNIXシステムログなど、多くの目的地にログ情報を示すメカニズムを提供します。
log4jには3つの主要なコンポーネントがあります。
ロガー:記録情報のキャプチャを担当します。
付録:さまざまな優先目的地にログ情報を公開する責任があります。
レイアウト:さまざまなスタイルのログ情報のフォーマットを担当します。
注:この記事は、log4j 2.x以上に基づいています。
2。インストール
log4j-core-xx.jar
log4j-api-xx.jar
log4j-web-xx.jar(Webプロジェクトに必要な参照)
3。構成
次の参照を追加するためにいくつかのログを準備してください。
org.apache.logging.log4j.logmanagerをインポートします。 org.apache.logging.log4j.loggerをインポートします。
static logger logger = logmanager.getLogger(test.class.getName());
構成ファイルの場所は、src rootディレクトリにあります。構成ファイルがない場合でも、エラーはありません。デフォルトでは、コンソールの形で出力されます。
log4j2構成ファイルは、log4(1.xバージョンは非常に異なる)とは大きく異なり、.xml、.json、または.jsn形式のみを使用できます。特定の構成は次のとおりです( ${web:rootDir}はWeb Rootディレクトリを表します):
<?xml version = "1.0" encoding = "utf-8"?> <configuration status = "error"> <! - すべての付録 - > <付録> <! - この出力コンソールの構成 - > <コンソール= "コンソール="コンソール "ターゲット=" system_out "> < %-5LEVEL%class {36}%l%m-%msg%xex%n "/> </console> <! - ファイルはすべての情報を印刷します。このログは、実行するたびに自動的にクリアされます。これは、一時的なテストに適した追加属性によって決定されます - > <ファイルname = "error" filename = "$ {web:rootdir} /logs/error.log" append = "false"> <! - ファイルはレベルおよび上記のレベルでのみ情報を記録します(オンマッチ)。 onmatch = "accept" onmismatch = "deny"/> <patternlayout charset = "utf-8" pattern = "%d {hh:mm:ss.sss}%-5level%class {36}%l%m-%msg%xex%n"/>> </file> <! - すべての情報を印刷します。サイズがサイズを超えるたびに、このサイズのログは、年月ごとに作成されたフォルダーに自動的に保存され、アーカイブとして圧縮されます - > <rollingFile name = "rollingfile" filename = "$ {web:rootdir} /logs/history.log" filepattern = "log/$$ {date:yyyy-mm}/history-%d {mm-dd-yyy} - %i.log.gz"> <patternlayout charset = "utf-8" pattern = "%d {yyyymm-dd 'at' hh:mm:ss z} %msg%xex%n "/> <sizebasedtrigggeringpolicy size =" 50mb "/> </rollingfile> </appenders> <! - 次に、ロガーを定義します。 Appenderは、ロガーが定義および導入された場合にのみ有効になります。 - > <Loggers> <! - デフォルトのルートロガーを作成 - > <root level = "trace"> <appender-ref ref = "error-ref ref =" rollingfile "/> <appender-ref ref =" console "/> </root> </loggers> </configuration>4。通常のプロジェクトとWebプロジェクト
通常のプロジェクトの場合、上記の構成を正常に使用できます。上記の構成を完了した後、Webプロジェクトではログファイルは生成されません。 web.xmlの<web-app>のルートノードの下に次の構成を追加する必要があります。
<! - log4j2.x start-> <リスナー> <リスナークラス> org.apache.logging.log4j.web.log4j4j4j4j4j4j4j4j4j4j </ristener-class> </ristener> <filter-name> log4jservletfilter </filt-name> <filter-class> org.apache.logging.log4j.web.log4jservletfilter </filter-class> </filter> <filter-mapping> <filter-name> log4jservletfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!
要約します
上記は、log4jを使用してJavaにログを記録する方法です。この記事の内容が、すべての人の勉強や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。