jboss上已部署应用程序的自定义日志记录信息

时间:2011-02-24 16:21:55

标签: logging jboss log4j jboss5.x

我将应用程序部署到使用许多entityManager的jboss服务器,因为我们使用一个应用程序处理许多客户。所以我们有一个应用程序与许多DB-s交谈

当我查看错误日志时,我无法查看哪个客户发现错误,有时很难调试错误。

如何在错误日志中删除写入并为evry日志插入添加一些自定义信息?

这应该可以从应用程序的范围中实现,因为我拥有用户登录的所有信息等...

我们使用:

jboss 5.1 接缝2.1 过冬 log4j用于记录

2 个答案:

答案 0 :(得分:1)

JBoss默认使用统一的类加载器,以启用特定于应用程序的日志记录,您希望在META-INF或WEB-INF文件夹中使用jboss-classloading.xml启用类加载器隔离。

启用类加载器隔离后,您可以使用log4j.xml配置日志的工作方式。见http://wiki.apache.org/logging-log4j/Log4jXmlFormat

答案 1 :(得分:0)

我必须承认我并不完全理解您的问题,但是Log4J中的MDC可能是您需要的吗?使用某种方面/过滤器/代理,您可以将键值对分配给Log4J提供的特殊线程局部MDC对象。可以检索此映射中的条目并将其自动附加到每个日志记录语句中。

这个机制,因为它是正在运行的线程的本地机制,经常用于在给定线程中发生的每个日志语句中显示当前用户名/会话ID,这非常方便。