我正在使用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
答案 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”。如果您告诉我您是如何编写课程的,我可以为您提供有关如何组织这些文件的更多指导。