logback&log4jの非同期のログ設定

logback 
原始配置


配置アペンダ、控制文件的滚动方式、日志的输出格式。
  <アペンダ名= "方法-時間アペンダ" クラス = "ch.qos.logback.core.rolling.RollingFileAppender"> 
        <ファイル> $ {サイパン.logger.home} /method_profiling.log </ファイル> 
        <rollingPolicyのクラス = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
            <! -毎日ロールオーバー- > 
            <fileNamePattern> $ {saipan.logger.home } {/method_profiling.log.%d YYYY-MM-DD} - %I
             </ fileNamePattern> 
            <! -歴史の7日分を維持する- > 
            <maxHistory> 7 </ maxHistory> 
            <timeBasedFileNamingAndTriggeringPolicyの
                     クラス= "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
                <maxFileSizeの> 1ギガバイト</ maxFileSizeの> 
            </ timeBasedFileNamingAndTriggeringPolicy> 
        </ rollingPolicy> 
        <エンコーダのcharset = "UTF-8"> 
            <パターン>%のD {HH:MM :SS} - %のMSGの%N </パターン> 
        </エンコーダ> 
    </アペンダ> 

配置ロガー、指向上面的アペンダ
 <ロガー名= "method_profiling"加法= "偽"> 
        <レベル値= "INFO" /> 
        <アペンダ-REF REF = "メソッド時間アペンダ" /> 
</ロガー> 
修改为如下的配置

修改配置アペンダ、
     <アペンダ名= "メソッド時間アペンダ"クラス = "ch.qos.logback.core.rolling.RollingFileAppender">
        <ファイル> $ {} saipan.logger.home /method_profiling.log </ファイル> 
        <rollingPolicy クラス = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
            <! -毎日ロールオーバー- > 
            <fileNamePattern> $ {} saipan.logger.home /method_profiling.log.%d {YYYY-MM-DD} - %I
             </ fileNamePattern> 
            <! -歴史の7日分を維持する- > 
            <maxHistory> 7 </ maxHistory> 
            < timeBasedFileNamingAndTriggeringPolicyの
                     クラス = "ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
                <maxFileSizeの> 1ギガバイト</ maxFileSizeの>
            </ timeBasedFileNamingAndTriggeringPolicy> 
        </ rollingPolicy> 
        <エンコーダのcharset = "UTF-8">
            <パターン>%のD {HH:MM:SS} - %のMSG%N </パターン>
        </エンコーダ> 
    </アペンダ> 

アペンダ上記非同期コンフィギュレーション・アペンドが続く、との点
     <アペンダ名= "ASYNC-METHOD-TIME-のAppender" クラス = "ch.qos.logback.classic.AsyncAppender"> 
        <! - -内部実装が有界ArrayBlockingQueueで、QUEUESIZEは、キューのサイズです。デフォルト値は、性能値256に影響を与えます- 。> 
        <QueueSizeに> 512 </ QueueSizeに> 
        <! -キューの残り容量がこのしきい値と現在のログレベルTRACE、DEBUGまたはINFO未満である場合には、これらのログは破棄されます。デフォルトでは、20%QUEUESIZEサイズです。- > 
        <discardingThreshold> 0 </ discardingThreshold> 
        <! - = NeverBlock trueに、次にログインする方法が代わりに入れ詰まり提供キューを呼び出したときにキューを作成するキューは、代わりにブロックする、直接返すいっぱいになった場合、それはログが破棄されています。- > 
        <NeverBlock> trueに </ NeverBlock> 
        <!
        <アペンダ-REF REF = "メソッド時間アペンダ" /> 
    </アペンダ> 

配置ロガー、指向异步的アペンダ。
    <ロガー名= "method_profiling"加法= "偽"> 
        <レベル値= "情報" /> 
        <アペンダ-REF REF = "ASYNC-METHOD-TIME-アペンダ" /> 
    </ロガー>
log4jの

は、設定しorg.apache.log4j.DailyRollingFileAppenderを使用している場合は、設定は、このようなことがあります。
<! - -ファイルへの出力をログには、新しいログファイルを生成する方法を長く設定することができます> <アペンダ名=「dailyRollingAppender」クラス =「org.apache.log4j.DailyRollingFileAppender」> <! -ファイルのフルパス名を- > の<paramの名前=値を"FILE" = "/データ/ applogs /自身/ dailyRollingAppender.log" /> <PARAM NAME = "追加"値= "trueに" /> <! -ログのバックアップ設定周波数、デフォルト:毎日のログファイル- > の<paramの名前= "DatePattern"値= "MM-YYYY-dd'.log「 ''」/> < -毎分バックアップ- >! < - <! PARAM名= "DatePattern"値= " '' YYYY-MM-DD-HH-MM ' <PARAM名= "ConversionPattern"値= "[%のP] [%のD {HH:MM:SS SSS}] [%のC] - [%のM]%N" /> </レイアウト> </アペンダ> 和logback一样、在ロガー和アペンダ之间增加AsyncAppender配置。 <アペンダ名= "SYSTEM" クラス = "com.alibaba.common.logging.spi.log4j.DailyRollingFileAppender"> <PARAM NAME = "ファイル"値= "$ {relationplatform .logging.root} /relationplatform-sys.log "/> <PARAM NAME ="追加」値= "TRUE" /> <PARAM NAME = "符号化"値= "GBK" /> <PARAM NAME = "閾値"の値= "WARN" /> <レイアウトクラス = "ORG。apache.log4j.PatternLayout "> apache.log4j.PatternLayout "> <PARAM NAME =" ConversionPattern "値=" [%P]%のD {YYYY-MM-DD HH:MM:SS、SSS}%のC.%のM(%のL)| %Mは%N "/> </レイアウト> </アペンダ> <アペンダ名=" ASYNC-SYSTEM」クラス = "org.apache.log4j.AsyncAppender"> <! -内部実装は、リスト、たBufferSizeリストのサイズです。この値は、デフォルト値のパフォーマンスに影響を与えるだろう128である- 。> ます。<param name =「たBufferSize」値=「512」/> <! -ログには、呼び出し元のスレッドをブロックしていないとき= Falseの書き込みキューをブロックすることはいっぱいあります。デフォルトはtrueです- > の<paramの名前= "ブロッキング"値= /> "偽の" ます。<param name = "LocationInfo"値= />が"真の" <REF-REFはアペンダ"SYSTEMを" /> = </アペンダ> <名前=ロガー"RELATION_PLATFORM_SERIOUS_LOGは" "falseに"加法を=> <レベル値= "$ {relationplatform.loggingLevel}" /> <

 

おすすめ

転載: www.cnblogs.com/sidesky/p/11354355.html