log4j.rootLogger=DEBUG,DATABASE
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:db2://10.1.16.210:50000/TKLPF_DB
log4j.appender.DATABASE.driver=com.ibm.db2.jcc.DB2Driver
log4j.appender.DATABASE.user=administrator
log4j.appender.DATABASE.password=tkfzxmm!**188
log4j.appender.DATABASE.Threshold=DEBUG
log4j.appender.DATABASE.sql=INSERT INTO NULLID.zw_system_log (SYSTEM_LOG_ID,LOGIN_ID,PERSON_NAME,OPERATE_DESCRIPTION,MODULE_NAME,MODULE_CODE,OPERATION_TYPE,OPERATE_DT, STATUS, UPDATER, UPDATE_DT) VALUES ('SYSTEM_LOG_ID','LOGIN_ID', '%X{PERSON_NAME}', 'OPERATE_DESCRIPTION', 'MODULE_NAME', 'MODULE_CODE','OPERATION_TYPE', 'OPERATE_DT', '1', 'UPDATER', '%d{yyyyMMddHHmmss}')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[ejunnet] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
SYSTEM_LOG_ID是主键,但是用的是DB2数据库现在自增也不可以
像后面的一些字段都是自定义的,但是不知道后台怎么获取。查了一些资料,他们获取的都是session中的Id和name,但是我的很多都没在session中放着,我该如何获取?
急用,谢谢!
楼主是不是需要log的MDC上设置一下,详情可见:http://blog.donews.com/ooFrank/archive/2006/02/11/722553.aspx
没有字段值来源的应该可以不指定值吧。只取部分列试试。
[quote]
set log4j MDC for log2userId(这是什么意思啊,有点不懂)
UserFilter
set log4j MDC for log2userId
/*
[/quote]
set log4j MDC for log2userId 这个只是一个名字。
具体可以看一下 UserFilter这个类,你可以从任何地方,把值放入到MDC,并且指定相应的名字,这样,就能在log中打上了。
[quote]现在我要把这些字段全放到log4j中去,是不是要在UserFilter这个类中把他们get或set呢?
刚开始接触还是很迷茫,谢谢......[/quote]
是的 ,希望可以帮到你 :)
[quote]好的,谢谢啊!
但是我的就是不成功啊,不知道什么原因。数据库不一样有差别吗?[/quote]
实在不行的话,你可以debug看看最后生成的sql是什么:)