java - 在应用程序内更新 log4j 并更新 log4j.properties

标签 java configuration log4j

我有多个应用程序使用 log4j 进行日志记录,每个应用程序从类路径加载的单独 log4j.properties 中加载设置(只是磁盘上的文件,而不是 .jar 或任何使其只读的文件)。在每个应用程序中,我希望允许通过常规 UI 更新日志级别。

我为此使用了一个通用实用程序类,它在应用程序之间共享。我可以在应用程序的生命周期内执行此操作,但由于更改不会保留回相应的 log4j.properties 文件,因此在下次重新启动时,它会重置为属性文件中的特定级别。

由于它只是从类路径加载,所以我不知道每个应用程序中日志文件的完整路径,而且由于它是一个公共(public)类,我宁愿不硬编码路径。 有没有办法让 log4j 将其更改写回其磁盘配置?

最佳答案

我建议你彻底解决这个问题。

始终将更改写入磁盘上的 log4j.properties 文件,然后安装监听器来检查该文件中的更改并更新相应的日志级别。

关于java - 在应用程序内更新 log4j 并更新 log4j.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8360841/

相关文章:

java - 如何从核心项目登录

java - 以编程方式添加 Log4J 附加程序

java - Log4j 删除超过一个月的日志

java - 从spring bean名称获取类对象

java - 在 UIInput 组件中使用带参数的方法时如何调用 setter 方法?

java - mysql jdbc 字段列表中的未知列 'startdate'

java - Java 中的 HMAC SHA-384

c# - 为什么 EntLib 缓存应用程序 block 使用了错误的配置文件

configuration - 不能在GIMP中更改网格的间距和偏移量

database - 为 nWidart/laravel-modules 中的每个模块创建并使用自定义 config/database.php