我目前正在尝试在 JBoss 6 中配置日志记录并查看不同的替代方案。我的要求是:
1) 无需重新部署应用程序即可自动重新加载任何日志配置更改。
2) 多个日志文件,每个日志级别一个。例如,myApp-error.log只记录错误消息,myApp-debug.log只记录调试消息等。这意味着能够为每个文件设置的每个附加程序/处理程序设置最小和最大级别。
现在,我知道我可以使用 JBoss 6 AS 附带的 jboss-logging.xml 文件。我确实通过使用这个文件来自动重新加载,因为它利用了 JBoss 中的热部署功能(这个文件位于部署目录中)。
但是,我无法配置我的日志来为每个处理程序设置最大级别。我可以设置一个最低级别,但这意味着例如我的调试文件将获得调试和以上所有级别。不是我需要的。
其他选项是使用外部配置文件。例如 log4j.xml。这可以通过设置系统属性来实现,如此处所述。很好,因为我可以使用 org.apache.log4j.varia.LevelRangeFilter 过滤器来限制最大和最小日志级别。但是,这不允许在不重新部署应用程序的情况下自动重新加载日志记录配置。
是否有机会使用 JBoss 6 AS 获得这两个要求,无论是使用随附的日志系统还是使用外部日志系统?