Log4j 动态参数
我有一个在 Spring 框架上运行的 j2ee Web 应用程序,并使用 log4j 进行日志记录。我的 log4j.properties 文件中有这一行。这会将日志插入我的数据库中。如何在消息部分设置动态值,以便我可以以某种方式附加当前登录的用户。包含当前用户信息的 bean 对象位于应用程序上下文中。
log4j.appender.dbLog.sql = 插入 日志记录(日志日期、日志级别、 位置、消息)值 ('%d{yyyy/MM/dd HH:mm:ss}', '%-5p', “%C-%L”、“%m”)
i have a j2ee web application running on spring framework and using log4j for logging. I have this line in my log4j.properties file. this will insert the logs in my database. How do I set a dynamic value in the message part so that I can somehow append the currently logged in user. The bean object containing info for the current user is in the application context.
log4j.appender.dbLog.sql = INSERT INTO
LOGGING (log_date, log_level,
location, message) VALUES
('%d{yyyy/MM/dd HH:mm:ss}', '%-5p',
'%C-%L', '%m')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您想要使用 MDC< /a>(映射的诊断上下文)。这是关于使用的链接它与 servlet 一起使用。
You want to use the MDC (Mapped diagnostic context). Here's a link about using it with servlets.
我并不完全确定“应用程序上下文”与“用户信息”的位置,但我的网络应用程序使用的是 Struts 和 log4j,并且我有类似的(但可能更简单)的要求,我用如下代码解决了它:
然后
在我的 log4j 属性文件中,我有一个像这样的条目:
然后结果是我的表行将包含这样的数据:
'2010-03-15 21:49:46,514', 'mysql', 'DEBUG ', '用户:ben 已注销'
我希望这有帮助
I'm not entirely certain on the "application context" vs the location of my "user info" but my web app was using Struts and log4j and I had a similar (but maybe simpler) requirement, I solved it with code like this:
}
And then in my log4j properties file I had an entry like this:
And then the result was that my my table row would have data like this:
'2010-03-15 21:49:46,514', 'mysql', 'DEBUG', 'User: ben logged off'
I hope this helps