如何在Ubuntu中指定默认的log4j2配置文件

时间:2012-12-24 13:06:10

标签: xml logging log4j2

我正在使用log4j2进行日志记录,但我只收到错误消息,这是我认为默认配置。我已将log4j2.xml创建为:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appenders>
   <Console name="Console" target="SYSTEM_OUT">
     <PatternLayout pattern=" %msg%n"/>
   </Console>
  </appenders>
   <loggers>
    <logger name="log4jExample" level="trace">
      <appender-ref ref="Console"/>
    </logger>
   <root level="error">
     <appender-ref ref="Console"/>
   </root>
   </loggers>
 </configuration>

并在CLASSPATH文件的~/.bashrc变量中提到了它的路径。但它仍然没有选择这个XML文件。我是否只在运行时提到配置文件。 ~/.bashrc文件contians:

 export CLASSPATH=$CLASSPATH:/home/user/Pradi/config/log4j2.xml

1 个答案:

答案 0 :(得分:0)

根据您的应用程序,类路径配置可能会有很大差异。它是Java SE应用程序吗?如果您的应用程序打包在jar文件中,则可以在META-INF文件中定义Classpath。如果它只是一个从Console运行的简单类,您可以尝试将此log4j2.xml放在包结构的根目录中。

您用来运行此课程的文件夹结构是什么?

编辑: 通常配置文件放在不同的目录中,但不是完全不同的文件夹结构。有一个像src / main / java这样的源文件夹和另一个src / main / resources是常见的。编译后,通常将文件放在相同的根文件夹中,例如target / classes。在您的简单测试中,我将文件放在同一个文件夹中,如果您从/ home / user / Pradi运行该类,则命令将为“java -classpath / home / user / Pradi log4jExample”。如果您告诉我您是如何编写课程的,我可以为您提供有关如何组织这些文件的更多指导。