log 4 j--カスタムログ出力クラスをデータベースに
log4j.xml常用出力フォーマット:
-X番号:X情報出力時に左揃え;%p:ログ情報レベル%d{}:ログ情報生成時間%c:ログ情報所在地(クラス名)%m:生成ログ詳細%n:出力ログ情報改行
一、コードの中で以下の方法でlogオブジェクトを取得し、以下の方法の中でlogSourceの値は:
OperateLog.com.sq.ogcrpc.Services.127.0.0.1.admin
final public static Logger getLog(String logSource){
//LOG 4 Jにかかわらず、テストを受けた.XMLにはいくつのloggerラベルが定義されており、logSource文字列には里ラベルのNAME属性が含まれていれば、その出力器が見つかります. return Logger.getLogger(logSource);
}
カスタムログ出力クラスを呼び出す.log 4 j.xmlでのLOGの定義
XMLファイルを解析します.カスタムOperateLogAppenderクラスを呼び出してJDBCappenderを継承し、親クラスを再ロードする3つの方法:getConnection()、closeConnection、executeクラスexecuteでSQL挿入データをデータベースに実行
-X番号:X情報出力時に左揃え;%p:ログ情報レベル%d{}:ログ情報生成時間%c:ログ情報所在地(クラス名)%m:生成ログ詳細%n:出力ログ情報改行
一、コードの中で以下の方法でlogオブジェクトを取得し、以下の方法の中でlogSourceの値は:
OperateLog.com.sq.ogcrpc.Services.127.0.0.1.admin
final public static Logger getLog(String logSource){
//LOG 4 Jにかかわらず、テストを受けた.XMLにはいくつのloggerラベルが定義されており、logSource文字列には里ラベルのNAME属性が含まれていれば、その出力器が見つかります. return Logger.getLogger(logSource);
}
カスタムログ出力クラスを呼び出す.log 4 j.xmlでのLOGの定義
<appender name="operateLogAppender" class="test.log4j.OperateLogAppender">
<priority value="info"/>
<param name="dataSourceProvider" value="test.log4j.SpringDataSourceProviderImpl" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO SYS_OPTLOG (id, name, ip, ldate, tt, yy,
ll) values (id.nextval,'%c{1}',substr('%c{5}',1,length('%c{5}')-length('%c{1}')-1),to_date('%d{yyyy-MM-dd
HH:mm:ss}','yyyy-mm-dd hh24:mi:ss'),'%m','%p','%c'" />
</layout>
</appender>
<logger name="OperateLog" additivity="false">
<level value="info" />
<appender-ref ref="operateLogAppender" />
</logger>
XMLファイルを解析します.カスタムOperateLogAppenderクラスを呼び出してJDBCappenderを継承し、親クラスを再ロードする3つの方法:getConnection()、closeConnection、executeクラスexecuteでSQL挿入データをデータベースに実行