Java log4j附加器之间的依赖关系
我正在编写一个定制的log4j appender,我想依靠另一个配置的appender作为后备,以防我的(数据库)appender失败Java log4j附加器之间的依赖关系,java,dependencies,log4j,appender,Java,Dependencies,Log4j,Appender,我正在编写一个定制的log4j appender,我想依靠另一个配置的appender作为后备,以防我的(数据库)appender失败 我如何保证附件的施工顺序?我的appender的activateOptions()方法尝试访问另一个appender,但失败了,因为它尚未构造/注册。如果没有一种方法可以实现您想要的功能,您可以从“主”appender内部创建和配置“回退”appender,而不是将其留给log4j进行配置。这不是一个很好的解决方案,但我不知道如何在附加程序之间添加依赖项。我建议
我如何保证附件的施工顺序?我的appender的
activateOptions()
方法尝试访问另一个appender,但失败了,因为它尚未构造/注册。如果没有一种方法可以实现您想要的功能,您可以从“主”appender内部创建和配置“回退”appender,而不是将其留给log4j进行配置。这不是一个很好的解决方案,但我不知道如何在附加程序之间添加依赖项。我建议将第二个附加程序的配置选项移动/复制到自定义附加程序的配置中,然后自己在自定义附加程序中创建第二个附加程序。如果使用XML格式的配置文件,然后,您可以利用这样一个事实,即XML文件中附加程序的声明顺序很重要。首先声明的appender将首先配置。如果您使用的是.properties格式的配置文件,那么它们的配置顺序取决于记录器a.k.a.类别引用它们的顺序。将首先配置首先引用的appender
您还可以看看logback,log4j的继任者,它有很好的文档记录。哇,您的答案似乎指向了另一个问题。是的,我知道阑尾并不神秘。是的,我知道配置映射到setter/getter(顺便说一句,我错过了C#的属性),我问的是不同记录器之间的依赖关系。你的答案有什么相关性?请注意——不同的附加器之间的依赖关系,而不是记录器。是的,我最后就是这么做的。不太干净,但可以用。