当前位置: 首页 > 知识库问答 >
问题:

log4j如何将当前的log4j配置转储为属性文件格式?

甘西岭
2023-03-14

这是一个log4j1。X问题。我的代码运行在TomcatServlet引擎中,无法控制log4j。属性,但我想在运行时更改日志记录配置。我已经找到了如何通过PropertyConfigurator实现这一点,并且可以使用属性进行更新。有没有办法以属性格式动态获取当前配置?

如果在log4j库中不可用,是否有外部开源库?

共有1个答案

白子明
2023-03-14

根据你对我评论的回复,我真的很喜欢你的想法,我可以看出它将是非常有用的。据我所知,log4j 1没有提供任何功能。将当前配置转储为属性文件的x。我很确定只有反序列化被实现了——从属性到内存中的对象,反之亦然。

ConsoleAppender为例,如果我们查看javadoc,没有任何迹象表明它是可序列化的,或者能够以任何方式转储其配置,更不用说作为属性了。

我想到了两个选择,它们是:

  1. 下载log4j1的源代码。并通过自己实现所需的功能来定制它以满足您的需要。这可能是不可取的,因为这样您将维护一个定制版本的log4j1。X(使切换到更新版本的log4j变得更加困难),并且可能需要一些时间来实现它,因为您需要分析现有代码并确定如何添加功能

希望这能有所帮助!

 类似资料:
  • 我正在使用Java的发送SMS。我已经加载了log4j jar文件,并将文件放置在正确的位置,但它仍然无法读取它,并得到以下异常: 例外文本:

  • 我是log4j的新手。我正在将一个应用程序从log4j1.2转换为log4j2。在log4j中。我发现的属性文件有以下配置。 如何将此配置转换为log4j2配置? 谢谢

  • 问题内容: 开始进行log4j配置的最简单方法是什么? 问题答案: 将名为的文件放在类路径的根目录中: 不需要什么了。Log4j将发现它并进行自我配置。

  • 我有一个使用log4j的java应用程序,配置如下。 log4j.properties 我想使用与上面相同的配置迁移到log4j2。尚未找到任何与log4j2属性配置文件相关的内容,因为最近包含了此支持。 谁能帮我弄清楚我的log4j2怎么样。属性文件是否具有上述相同的配置?

  • 问题内容: 我从log4j开始已经有一段时间了。非常酷的日志记录框架。我完成了其他类型的日志记录,例如控制台和文件日志记录。因此,尝试使用mysql的数据库适配器进行数据库日志记录。因此,我创建了名为log4j.properties的以下属性文件,其内容为- 并按以下方式在测试类中使用了它- 但我收到以下错误- 有什么帮助吗…? 问题答案: 如果您使用的是mysql。创建一个文件log4j.pro

  • 我正在使用log4j2.0-rc1和文件,但log4j lib始终使用默认配置(日志级别、appender等)运行它。我还尝试将名称更改为,但什么也没发生。