系统使用的是log4j,在log文档里,记录了进入的action和sql,可是具体是哪个用户的操作痕迹,无法得知,现在正在调查一个不能再现的逻辑bug,所以需要清晰的跟踪用户的操作,我现在想在每个log里,加入用户id,可是,并不是那个方法里都能得到session,我该怎么做呢,谢谢大家
解决方案 »
- 用户登录之后怎么隐藏登录框
- 谁能解开这个问题谁就牛逼了!!!
- 如何检测某个SESSION对象是否存在
- jspsmartupload的配置问题
- 我是初学者,第一回发帖,想问一个关于Tomcat+Mysql的问题.
- jsp中如何判断数据库中信息是否已经被访问!!在线等,谢谢
- 用HSSF和EXCEL实现WEB打印报表!
- 急求大婶知道,代码部分都弄好了,就是登录不上,是不是struts.xml配置错了?
- 网易、新浪使用的系统是如何实现的?
- 现在有什么java 开源的Oa系统 公司比较小 自己开发成本会很高
- js效果:鼠标经过区域 图片放大 效果如ppg的产品展示
- 使用FCKEditor时toolbar可以显示,文本档高度也有,可是看不见文本框
楼主【moodoasis】截止到2008-07-11 15:33:29的历史汇总数据(不包括此帖):
发帖的总数量:39 发帖的总分数:1642 每贴平均分数:42
回帖的总数量:274 得分贴总数量:98 回帖的得分率:35%
结贴的总数量:39 结贴的总分数:1642
无满意结贴数:8 无满意结贴分:260
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:20.51 % 无满意结分率:15.83 %
敬礼!
但是这样也有问题,就是多用户访问的时候会产生多个用户日志信息交叉的情况
将这个得到的线程名作为参数传递到业务层和数据访问层log4j自身打印的线程号是不行的,根本不是一个线程,线程号或者线程名当然不一样
#文件输出:RollingFileAppender
#log4j.rootLogger = INFO,logfile
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold = INFO
# 输出以上的INFO信息
log4j.appender.logfile.File = INFO_log.html
#保存log文件路径
log4j.appender.logfile.Append = true
# 默认为true,添加到末尾,false在每次启动时进行覆盖
log4j.appender.logfile.MaxFileSize = 1MB
# 一个log文件的大小,超过这个大小就又会生成1个日志 # KB ,MB,GB
log4j.appender.logfile.MaxBackupIndex = 3
# 最多保存3个文件备份
log4j.appender.logfile.layout = org.apache.log4j.HTMLLayout
# 输出文件的格式
log4j.appender.logfile.layout.LocationInfo = true
#是否显示类名和行数
log4j.appender.logfile.layout.Title =title:\u63d0\u9192\u60a8\uff1a\u7cfb\u7edf\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef
#html页面的 < title >
############################## SampleLayout ####################################
# log4j.appender.logfile.layout = org.apache.log4j.SampleLayout
############################## PatternLayout ###################################
# log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
# log4j.appender.logfile.layout.ConversionPattern =% d % p [ % c] - % m % n % d
############################## XMLLayout #######################################
# log4j.appender.logfile.layout = org.apache.log4j.XMLLayout
# log4j.appender.logfile.layout.LocationInfo = true #是否显示类名和行数
############################## TTCCLayout ######################################
# log4j.appender.logfile.layout = org.apache.log4j.TTCCLayout
# log4j.appender.logfile.layout.DateFormat = ISO8601
#NULL, RELATIVE, ABSOLUTE, DATE or ISO8601.
# log4j.appender.logfile.layout.TimeZoneID = GMT - 8 : 00
# log4j.appender.logfile.layout.CategoryPrefixing = false ##默认为true 打印类别名
# log4j.appender.logfile.layout.ContextPrinting = false ##默认为true 打印上下文信息
# log4j.appender.logfile.layout.ThreadPrinting = false ##默认为true 打印线程名
# 打印信息如下:
#2007 - 09 - 13 14 : 45 : 39 , 765 [http - 8080 - 1 ] ERROR com.poxool.test.test - error成功关闭链接
INFO 2008-07-11 17:24:29,531 [Thread-3] INFO (RecognitionAction.java:62) - common.actions.RecognitionAction openRecog
INFO 2008-07-11 17:24:29,578 [Thread-3] INFO (Recognition.java:45) - Start:common.Recognition
DEBUG 2008-07-11 17:24:29,671 [Thread-3] DEBUG (Recognition.java:66) - SELECT RECOGNITION_METHOD FROM REQUEST_CLASS
但是要在servlet里打印FORM里面的所有字段值,以跟踪用户入力结