如何指定 Log4J 2.x 配置位置?

新手上路,请多包涵

有什么方法可以手动指定 Log4J 2.x log4j2.xml 文件位置(如 Log4J 1.x 中的 DOMConfigurator ),而不会弄乱类路径和系统属性?

原文由 Andrei Petrenko 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 739
2 个回答

您可以在 org.apache.logging.log4j.core.config.Configurator 中使用静态方法 #initialize(String contextName, ClassLoader loader, String configLocation) (参见 此处 的源代码)。 (您可以为类加载器传递 null。)

请注意,此类不是公共 API 的一部分,因此 您的代码可能会因任何次要版本而中断

为了完整起见,您还可以使用此系统属性指定配置文件的位置:

 -Dlog4j.configurationFile=path/to/log4j2.xml

原文由 Remko Popma 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 Windows 中,请注意您需要使用具有 log4j.configurationFile 属性的 URI

 -Dlog4j.configurationFile=file://C:\path\to\log4j2.xml

原文由 Glenn McElhoe 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏