先創建一個java項目(基礎項目就行)
記得要將架包導入
在根目錄創建一個
log4j.rootLogger=INFO,appender1,appender2,appender3
log4j.logger.org.springframework=ERROR
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=log/IceColdMonitor.log
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
#database
log4j.appender.appender3=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.appender3.driver=com.mysql.jdbc.Driver
log4j.appender.appender3.URL=jdbc:mysql://127.0.0.1:3306/m2_craft
log4j.appender.appender3.user=root
log4j.appender.appender3.password=123123
log4j.appender.appender3.sql=INSERT INTO operation_record(operation_record_id,operation_object_id,operation_user_id,operation_user,operation_time,operation_describe) VALUES ('%X{operationRecordId}','%X{operationObjectId}','%l','%t','%d{yyyy-MM-dd HH:mm:ss}','%m')
然後看看測試
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
public class Test {
public static void main(String[] args) {
Logger logger = Logger.getLogger(Test.class);
MDC.put("operationRecordId", "101010101000000");
logger.info("test logger info");
//logger.debug("test logger debug");
//logger.error("test logger error");
//logger.fatal("test logger fatal");
}
}
運行一下
查看一下數據庫
下面來介紹一下LOG4J加入數據庫的參數
INSERT INTO operation_record(operation_record_id,operation_object_id,operation_user_id,operation_user,operation_time,operation_describe) VALUES ('%X{operationRecordId}','%X{operationObjectId}','%l','%t','%d{yyyy-MM-dd HH:mm:ss}','%m')
%X{operationRecordId}
這個%X是自定義參數,{}裏面的自定義參數名稱.
%d{yyyy-MM-dd HH:mm:ss}
這個**%d**是定義時間參數,{}裏面是參數的格式
%l 是記錄操作數據存儲的文件方法位置
%t 是記錄操作數據存儲的方法名稱,
%m 是打印的內容
%p 是記錄打印數據的等級(info,debug,error等)
%c 是記錄操作數據存儲的文件名稱