1

我正在使用 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文件内容:

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

1 回答 1

0

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

您用于运行此类的文件夹结构是什么?

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

于 2012-12-24T13:39:42.300 回答