我尝试配置log4j2自定义ConfigurationFactory,它使用动态配置源初始化appender和logger。
我已经使用@Plugin关注此主题的文档(此处:https://logging.apache.org/log4j/2.x/manual/customconfig.html)并编写了一些单元测试来验证我的假设。
当我编译/运行单元测试时(通过Gradle + TestNG),我的@Plugin带注释的ConfigurationFactory被发现并被log4j2用作配置源。但是当我尝试使用TestNG插件在Eclipse中运行测试时,log4j2永远不会发现我的ConfigurationFactory。
更新:
问题似乎是当Eclipse编译我的@Plugin注释类时,不会生成Log4j2Plugins.dat--它是在编译我的@Plugin注释类时生成的。
我在Eclipse中运行测试时,通过将生成的Log4j2Plugins.dat文件添加到
来解决此问题src/test/resources/META-INF/org/apache/logging/log4j/core/config/plugins
我想尝试找一个更好的解决方案来让Eclipse的编译器进行注释处理,这样我就不必将这个生成的文件检查到我的测试中来制作他们工作。