Log4j-logging-database
log4j-データベースへのログイン
log4j APIは org.apache.log4j.jdbc.JDBCAppender オブジェクトを提供します。これにより、指定されたデータベースにロギング情報を配置できます。
JDBCAppenderの構成
Property | Description |
---|---|
bufferSize | Sets the buffer size. Default size is 1. |
driver | Sets the driver class to the specified string. If no driver class is specified, it defaults to sun.jdbc.odbc.JdbcOdbcDriver. |
layout | Sets the layout to be used. Default layout is org.apache.log4j.PatternLayout. |
password | Sets the database password. |
sql | Specifies the SQL statement to be executed every time a logging event occurs. This could be INSERT, UPDATE, or DELETE. |
URL | Sets the JDBC URL. |
user | Sets the database user name. |
ログテーブルの構成
JDBCベースのロギングの使用を開始する前に、すべてのログ情報を保持するテーブルを作成する必要があります。 LOGSテーブルを作成するためのSQLステートメントは次のとおりです-
サンプル構成ファイル
以下は、JDBCAppender用のサンプル構成ファイル log4j.properties であり、LOGSテーブルにメッセージを記録するために使用されます。
MySQLデータベースの場合、LOGSテーブルを作成した実際のDBNAME、ユーザーID、およびパスワードを使用する必要があります。 SQLステートメントは、テーブル名LOGSおよびテーブルに入力される値を使用してINSERTステートメントを実行します。
JDBCAppenderでは、レイアウトを明示的に定義する必要はありません。 代わりに、渡されるSQLステートメントはPatternLayoutを使用します。
上記の log4j.properties ファイルと同等のXML構成ファイルが必要な場合、ここに内容があります-
サンプルプログラム
次のJavaクラスは、JavaアプリケーションのLog4Jロギングライブラリを初期化してから使用する非常に単純な例です。
コンパイルして実行
上記のプログラムをコンパイルして実行する手順は次のとおりです。 コンパイルと実行に進む前に、 PATH と CLASSPATH が適切に設定されていることを確認してください。
すべてのライブラリが CLASSPATH で使用可能であり、_log4j.properties_ファイルがPATHで使用可能である必要があります。 指定された手順に従ってください-
- 上記のようにlog4j.propertiesを作成します。
- 上記のようにlog4jExample.javaを作成してコンパイルします。 *log4jExampleバイナリを実行して、プログラムを実行します。
DBNAMEデータベース内のLOGSテーブルを確認すると、次のエントリが見つかります-
注-ここでxは、ロギングイベントを生成したスレッドに関連付けられたネストされた診断コンテキスト(NDC)を出力するために使用されます。 NDCを使用して、複数のクライアントを処理するサーバー側コンポーネントのクライアントを区別します。 詳細については、Log4Jマニュアルを参照してください。