5

我正在尝试在我的项目中采用 Log4j2。因为我的 Java 应用程序被打包在一个 JAR 文件中。我不想将“log4j2.xml”配置打包在 JAR 文件中。我正在尝试从“ http://logging.apache.org/log4j/2.x/manual/configuration.html ”了解配置文件的工作原理

但似乎没有关于更改 Log4j2 的配置文件路径的明确说明。

在谷歌搜索这个主题后,我发现类似“在可执行 JAR 中引用 log4j 配置文件”在可执行 JAR 中引用 log4j 配置文件,但是根据“ http://logging.apache.org/log4j/2,这个解决方案不再可用.x/manual/migration.html ”(如果我理解正确的话)。

所以我想知道是否有人对这个问题有任何想法。

谢谢

4

3 回答 3

9

您可以设置系统属性来指定配置路径。设置

"-Dlog4j.configurationFile="D:\learning\blog\20130115\config\LogConfig.xml" 

在 VM 参数中。代替

"D:\learning\blog\20130115\config\LogConfig.xml"

到您的配置路径。

于 2013-01-15T10:51:49.393 回答
0
  1. log4j2.xml文件放在项目的资源目录中,以便 log4j 自动找到类路径下的文件。

从自定义位置加载 log4j2.xml 文件-

  1. 您可以使用系统属性/VM 参数- Dlog4j.configurationFile=file:/path/to/file/log4j2.xml 这适用于任何 Web 应用程序。

  2. 对于某些遗留应用程序,您可以创建一个类,用于从机器上的自定义位置加载log4j2.xml/log4j2.properties ,例如 - D:/property/log4j2.xml 使用这些方法中的任何一种,在应用程序启动期间,log4j2.xml src/resources 文件夹中的文件将被自定义位置 log4j.xml 文件覆盖。

于 2021-04-22T15:25:43.570 回答
0

尝试使用 -Dlogging.config=Path_to_your_file

于 2019-01-24T22:45:44.943 回答