先创建一个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 是记录操作数据存储的文件名称