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