从 Kotlin 以编程方式配置 Log4J

Programmatically Configuring Log4J From Kotlin

我有一个使用 Log4J 进行日志记录的项目,我希望通过 Kotlin 文件而不是通过 XML 文件或属性以编程方式配置 Log4J,但 Log4J 似乎无法找到运行时的 class 文件。我将代码移植到 Java 并在那里做了一个简单的测试,它工作正常。可能是 Kotlin 编译器在创建 class 时对它所做的事情导致 Log4J 在扫描时错过它?任何帮助将不胜感激。

我的代码:https://hastebin.com/vepekezoqe.kotlin

注意:我尝试在 getConfiguration() 调用后立即在两个项目中设置断点,并且 Kotlin 版本没有被击中,而 Java 版本被击中,这证实了 Log4J 确实没有找到class.

感谢大家的宝贵意见。我不知道这是一个持续存在的问题。从那以后,我通过在项目中双重编译 Java 和 Kotlin 来缓解它。一旦允许我回答我自己的问题,就会关闭它。