log4.xml
32558 ワード
まずもちろんlog 4 jのjarファイルを得る、1.2の使用を推奨する.X版、ダウンロードアドレス:
http://logging.apache.org/log4j/1.2/download.html
xml形式のlog 4 jプロファイルの概要
xml形式のlog 4 jプロファイルはorgを使用する必要がある.apache.log4j.xml.DOMConfigurator.configure()メソッドで読み込みます.xmlファイルの構文定義はlog 4 jのパブリケーションパッケージでorg/apache/log 4 j/xml/log 4 jを見つけることができる.dtd.
log 4 jのxmlプロファイルのツリー構造は以下の通りですが、下図は一般的な部分のみを示しています.
Javaコード
Xmlコード
(1). 出力方式appenderは一般的に5種類あります.
org.apache.log4j.RollingFileAppender(ファイルをスクロールし、最新ログを自動的に記録)
org.apache.log4j.ConsoleAppender(コンソール)
org.apache.log4j.FileAppender(ファイル)
org.apache.log4j.DailyRollingFileAppender(毎日1つのログファイルを生成)
org.apache.log4j.WriterAppender(任意の指定された場所にログ情報をストリーム形式で送信)
(2). 日記の記録の優先度priority、優先度は高いから低いに分けます
OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL.
Log 4 jはFATAL,ERROR,WARN,INFO,DEBUGの5つのレベルのみを使用することを推奨する.
(3). フォーマット説明layoutのパラメータはすべて%で始まり、後の異なるパラメータは異なるフォーマット情報を表します(パラメータはアルファベット順にリストされます):
%cは、属するクラスのフルネームを出力します.%d{Num}、Numクラス名出力の次元に変更できます(たとえば、「org.apache.elathen.ClassName」、%C{2}はelathen.ClassNameを出力します).
%d出力ログ時間%d{yyyy-MM-dd HH:mm:ss,SSS}の形式で、%d{HH:mm:ss}などの形式を指定できます.
%l出力ログイベント発生場所(クラス名、発生スレッド、コード内の行数を含む)
%n改行
%m出力コード指定情報、例えばinfo(「message」)、出力message
%p出力優先度、すなわちFATAL,ERROR等
%r出力起動からlog情報の表示までのミリ秒数
%t出力ログイベントを生成するスレッド名
xml declaration and DTD
xmlプロファイルのヘッダには、xml宣言とDTD宣言の2つのセクションがあります.ヘッダーのフォーマットは次のとおりです.
og4j:configuration (root element)
xmlns:log 4 j[#FIXED attribute]:log 4 jの名前空間を定義し、値をとるhttp://jakarta.apache.org/log4j/"
appender[*child]:appenderサブ要素がログ出力先を定義する
logger[*child]:loggerサブ要素定義ログ書き出し
root[?child]:rootサブエレメントはroot loggerを定義します
appender
appender要素は、ログ出力先を定義します.
name[#REQUIRD attribute]:後述するようにappenderの名前を定義します.
class[#REQUIED attribute]:appenderオブジェクトが属するクラスのフルネームを定義する
param[*child]:appenderオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
layout[?child]:このappenderで使用されるlayoutオブジェクト
layout
Layout要素は、appenderに関連付けられたログフォーマットを定義します.
class[#REQUIED attribute]:layoutオブジェクトが属するクラスのフルネームを定義する
param[*child]:layoutオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
logger
logger要素はログ出力器を定義します.
name[#REQUIRD attribute]:後述するようにloggerの名前を定義する
additivity[#ENUM attribute]:親loggerのプロパティを継承するかどうか、「true」(デフォルト)または「false」の値を取得します.
level[?child]:loggerのログ・レベルを定義します.
appender-ref[*child]:loggerの出力先を定義する
root
root要素はルートログ出力器root loggerを定義します.
param[*child]:root loggerオブジェクトを作成するときにクラス構築メソッドに渡すパラメータ
level[?child]:root loggerのログレベルを定義する
appender-ref[*child]:root loggerの出力先を定義する
level
level要素はloggerオブジェクトのログレベルを定義します.
class[#IMPLIED attribute]:levelオブジェクトが属するクラスを定義し、デフォルトでは「org.apache.log 4 j.Levelクラス」
value[#REQUIED attribute]:levelオブジェクトに値を割り当てます.可能な値は、「all」、「debug」、「info」、「warn」、「error」、「fatal」、「off」の順に小さくなります.「off」の値は、ログ情報が出力されていないことを示します.
param[*child]:levelオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
appender-ref
appender-ref要素はappender要素の名前を参照し、loggerオブジェクトにappenderを追加します.
ref[#REQUIRD attribute]:appender要素の名前の参照
appender-ref要素にはサブ要素がありません
param
param要素は、オブジェクトを作成するときにクラスの構築方法にパラメータを提供します.appender、layout、filter、errorHandler、level、categoryFactory、rootなどの要素のサブ要素になります.
name and value[#REQUIED attributes]:パラメータの名前値ペアのセットを指定します.
param要素にはサブ要素がありません
xmlファイルでappenderとlayoutを構成する
異なるAppenderオブジェクトまたは異なるLayoutオブジェクトを作成するには、異なる構築方法を呼び出す必要があります.paramサブ要素を使用して、異なるパラメータ値を設定できます.
ConsoleAppenderオブジェクトの作成
ConsoleAppenderの構築方法は他のパラメータを受け入れない.
... ... ... ...
... ...
... ... ... ...
FileAppenderオブジェクトの作成
FileAppenderクラスの構築方法には、2つのパラメータを渡すことができます.Fileはログファイル名を表します.Appendは、ファイルがすでに存在する場合、ログをファイルの末尾に追加するかどうかを示し、「true」と「false」(デフォルト)の値をとる可能性があります.
... ... ... ...
... ...
... ... ... ...
RollingFileAppenderオブジェクトの作成
FileとAppendに加えて、RollingFileAppenderクラスの構築方法には、MaxBackupIndexバックアップログファイルの数(デフォルトは1つ)、MaxFileSizeはログファイルで許可されている最大バイト数(デフォルトは10 M)の2つのパラメータを渡すこともできます.
... ... ... ...
... ...
... ... ... ...
PatternLayoutオブジェクトの作成
パラメータConversionPatternは、PatternLayoutクラスの構築方法に渡すことができます.
... ... ... ...
... ... ... ...
log 4 jを使用する.xmlの構成により、Hibernateのパラメータ化sqlのパラメータ値と戻り値を出力します.
http://logging.apache.org/log4j/1.2/download.html
xml形式のlog 4 jプロファイルの概要
xml形式のlog 4 jプロファイルはorgを使用する必要がある.apache.log4j.xml.DOMConfigurator.configure()メソッドで読み込みます.xmlファイルの構文定義はlog 4 jのパブリケーションパッケージでorg/apache/log 4 j/xml/log 4 jを見つけることができる.dtd.
log 4 jのxmlプロファイルのツリー構造は以下の通りですが、下図は一般的な部分のみを示しています.
Javaコード
xml declaration and DTD
|
log4j:configuration
|
+-- appender (name, class)
| |
| +-- param (name, value)
| +-- layout (class)
| |
| +-- param (name, value)
+-- logger (name, additivity)
| |
| +-- level (class, value)
| | |
| | +-- param (name, value)
| +-- appender-ref (ref)
+-- root
|
+-- param (name, class)
+-- level
| |
| +-- param (name, value)
+-- appender-ref (ref)
Xmlコード
xml version="1.0" encoding="UTF-8"?>
DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="debug" />
<param name="levelMax" value="warn" />
<param name="AcceptOnMatch" value="true" />
filter>
appender>
<appender name="myFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="D:/output.log" />
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
layout>
appender>
<appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="E:/activex.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
layout>
appender>
<logger name="com.runway.bssp.activeXdemo" additivity="false">
<priority value ="info"/>
<appender-ref ref="activexAppender" />
logger>
<root>
<priority value ="debug"/>
<appender-ref ref="myConsole"/>
<appender-ref ref="myFile"/>
root>
log4j:configuration>
(1). 出力方式appenderは一般的に5種類あります.
org.apache.log4j.RollingFileAppender(ファイルをスクロールし、最新ログを自動的に記録)
org.apache.log4j.ConsoleAppender(コンソール)
org.apache.log4j.FileAppender(ファイル)
org.apache.log4j.DailyRollingFileAppender(毎日1つのログファイルを生成)
org.apache.log4j.WriterAppender(任意の指定された場所にログ情報をストリーム形式で送信)
(2). 日記の記録の優先度priority、優先度は高いから低いに分けます
OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL.
Log 4 jはFATAL,ERROR,WARN,INFO,DEBUGの5つのレベルのみを使用することを推奨する.
(3). フォーマット説明layoutのパラメータはすべて%で始まり、後の異なるパラメータは異なるフォーマット情報を表します(パラメータはアルファベット順にリストされます):
%cは、属するクラスのフルネームを出力します.%d{Num}、Numクラス名出力の次元に変更できます(たとえば、「org.apache.elathen.ClassName」、%C{2}はelathen.ClassNameを出力します).
%d出力ログ時間%d{yyyy-MM-dd HH:mm:ss,SSS}の形式で、%d{HH:mm:ss}などの形式を指定できます.
%l出力ログイベント発生場所(クラス名、発生スレッド、コード内の行数を含む)
%n改行
%m出力コード指定情報、例えばinfo(「message」)、出力message
%p出力優先度、すなわちFATAL,ERROR等
%r出力起動からlog情報の表示までのミリ秒数
%t出力ログイベントを生成するスレッド名
xml declaration and DTD
xmlプロファイルのヘッダには、xml宣言とDTD宣言の2つのセクションがあります.ヘッダーのフォーマットは次のとおりです.
og4j:configuration (root element)
xmlns:log 4 j[#FIXED attribute]:log 4 jの名前空間を定義し、値をとるhttp://jakarta.apache.org/log4j/"
appender[*child]:appenderサブ要素がログ出力先を定義する
logger[*child]:loggerサブ要素定義ログ書き出し
root[?child]:rootサブエレメントはroot loggerを定義します
appender
appender要素は、ログ出力先を定義します.
name[#REQUIRD attribute]:後述するようにappenderの名前を定義します.
class[#REQUIED attribute]:appenderオブジェクトが属するクラスのフルネームを定義する
param[*child]:appenderオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
layout[?child]:このappenderで使用されるlayoutオブジェクト
layout
Layout要素は、appenderに関連付けられたログフォーマットを定義します.
class[#REQUIED attribute]:layoutオブジェクトが属するクラスのフルネームを定義する
param[*child]:layoutオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
logger
logger要素はログ出力器を定義します.
name[#REQUIRD attribute]:後述するようにloggerの名前を定義する
additivity[#ENUM attribute]:親loggerのプロパティを継承するかどうか、「true」(デフォルト)または「false」の値を取得します.
level[?child]:loggerのログ・レベルを定義します.
appender-ref[*child]:loggerの出力先を定義する
root
root要素はルートログ出力器root loggerを定義します.
param[*child]:root loggerオブジェクトを作成するときにクラス構築メソッドに渡すパラメータ
level[?child]:root loggerのログレベルを定義する
appender-ref[*child]:root loggerの出力先を定義する
level
level要素はloggerオブジェクトのログレベルを定義します.
class[#IMPLIED attribute]:levelオブジェクトが属するクラスを定義し、デフォルトでは「org.apache.log 4 j.Levelクラス」
value[#REQUIED attribute]:levelオブジェクトに値を割り当てます.可能な値は、「all」、「debug」、「info」、「warn」、「error」、「fatal」、「off」の順に小さくなります.「off」の値は、ログ情報が出力されていないことを示します.
param[*child]:levelオブジェクトの作成時にクラス構築メソッドに渡すパラメータ
appender-ref
appender-ref要素はappender要素の名前を参照し、loggerオブジェクトにappenderを追加します.
ref[#REQUIRD attribute]:appender要素の名前の参照
appender-ref要素にはサブ要素がありません
param
param要素は、オブジェクトを作成するときにクラスの構築方法にパラメータを提供します.appender、layout、filter、errorHandler、level、categoryFactory、rootなどの要素のサブ要素になります.
name and value[#REQUIED attributes]:パラメータの名前値ペアのセットを指定します.
param要素にはサブ要素がありません
xmlファイルでappenderとlayoutを構成する
異なるAppenderオブジェクトまたは異なるLayoutオブジェクトを作成するには、異なる構築方法を呼び出す必要があります.paramサブ要素を使用して、異なるパラメータ値を設定できます.
ConsoleAppenderオブジェクトの作成
ConsoleAppenderの構築方法は他のパラメータを受け入れない.
... ... ... ...
... ...
... ... ... ...
FileAppenderオブジェクトの作成
FileAppenderクラスの構築方法には、2つのパラメータを渡すことができます.Fileはログファイル名を表します.Appendは、ファイルがすでに存在する場合、ログをファイルの末尾に追加するかどうかを示し、「true」と「false」(デフォルト)の値をとる可能性があります.
... ... ... ...
... ...
... ... ... ...
RollingFileAppenderオブジェクトの作成
FileとAppendに加えて、RollingFileAppenderクラスの構築方法には、MaxBackupIndexバックアップログファイルの数(デフォルトは1つ)、MaxFileSizeはログファイルで許可されている最大バイト数(デフォルトは10 M)の2つのパラメータを渡すこともできます.
... ... ... ...
... ...
... ... ... ...
PatternLayoutオブジェクトの作成
パラメータConversionPatternは、PatternLayoutクラスの構築方法に渡すことができます.
... ... ... ...
... ... ... ...
log 4 jを使用する.xmlの構成により、Hibernateのパラメータ化sqlのパラメータ値と戻り値を出力します.
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p: %m%n" />
layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="trace" />
<param name="LevelMax" value="DEBUG" />
filter>
appender>
<logger name="org.hibernate.type.descriptor.sql.BasicBinder">
<level value="trace" />
logger>
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor">
<level value="trace" />
logger>
<logger name="org.hibernate.sql">
<level value="trace" />
logger>
<logger name="org.hibernate.type">
<level value="trace" />
logger>
<root> appender, <appender-ref ref="console"/ >