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 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"/ >