我们需要在集群 glassfish 环境中托管多个 Web 应用程序。Logback 是 Web 应用程序使用的日志框架。修改日志配置(例如日志级别)是一个我想获得一些专家意见和建议的问题。
目前,出于几个原因,我们已将 logback 配置文件放入单独的 war 文件中
- 手动将 logback.xml 放在 war 文件之外会为安装程序/升级程序添加一个额外的任务。
- 在未来版本的 Web 应用程序中对配置文件所做的任何修改都必须由软件升级程序负责。任何这样的修改都可以是接受日志文件位置作为 JNDI 属性。Web 应用程序的数量增加了这项任务的复杂性。
将配置文件放在战争中的缺点是很难进行任何修改。例如添加新的记录器或更改日志级别。JMX 是 logback 支持的替代方案,但我发现它有两个问题
- 通过 JMX 所做的任何更改都无法持久化。任何服务器重新启动都会丢失配置的更改。
- logback 提供的 JMX 支持不允许添加新的附加程序,例如新的文件附加程序
如果您能就我上面提到的 logback 配置文件的位置或 JMX 问题提供任何建议,我将不胜感激。