我现在想做的是往一张日志表里写入一些基本信息,这个基本信息除了一个日期是可以通过配置获取以外,我还定义了三个业务字段去记录日志的其他信息(用户名、用户名所在的店铺,详细的动作名称--就是desc之类的),这个明显是针对info级别的信息操作的。我查了一些大虾写的配置,可用的配置参数只有一个%m,这似乎无法满足我想做的东西。用户名及店铺还有DESC之类的,都是从业务端里面传入的。难道LOG4J只能靠一个%m去接受这些信息的吗?应该怎么配置以及业务端如何传值到LOG表里。
[code="java"]log4j.rootLogger=WARN,DATABASE
# imporin jdbc.jar
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
# connection
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=111111
# sql
log4j.appender.DATABASE.sql=INSERT INTO log4j (Username,Class,Method,CreateTime,LogLevel,MSG) VALUES('%X{userName}','%C,%L','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout [/code]
看看是否能够帮到你