[英]Log4J 2 not writing into file
我正在尝试使用log4j 2进行一些日志记录。控制台输出正常,但是当我尝试将一些日志写入文件时,我无法对其进行管理。
我的pom.xml
:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8</version>
</dependency>
</dependencies>
我的log4j2.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Properties>
<Property name="log-path">logs</Property>
<Property name="archive">${log-path}/archive</Property>
</Properties>
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>>
</PatternLayout>
</Console>
<File name="File" fileName="${log-path}/xmlfilelog.log" immediateFlush="true" >
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="les.dam" level="trace">
<AppenderRef ref="File" level="trace"/>
</Logger>
<Root level="trace">
<AppenderRef ref="Console-Appender"/>
</Root>
</Loggers>
</Configuration>
我通过以下方式使用log4j:
private static Logger logger = LogManager.getLogger();
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warn message");
logger.error("This is an error message");
logger.fatal("This is a fatal message");
我使用记录器的类在les.dam
软件包下。
xml配置位于src / main / resources下。
logs文件夹与源文件夹处于同一级别。
您的配置看起来不错。 可能的原因是找不到配置文件和默认配置(仅控制台错误)。
要进行验证,请将您的配置更改为以<Configuration status="trace" monitorInterval="60">
开头。 这会将内部log4j2调试日志记录打印到控制台。
您的log4j2.xml
配置文件是否位于src/main/resources
? -更新:感谢您的更新,是的,这很好。
您可以先尝试使用绝对路径配置文件附加器吗?
您可以显示执行日志记录的类的完整软件包名称吗?
您必须检查log4j2使用的是您提供的log4j2.xml,而不是默认配置。
配置状态=“ trace” monitorInterval =“ 60”
然后检查控制台输出。
%d {yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%t]%c {1}-%msg%n
然后检查控制台输出。
如果log4j使用log4j2.xml,请检查FileAppender配置https://logging.apache.org/log4j/2.x/manual/appenders.html#FileAppender 。
如果log4j未使用log4j2.xml, 请https://logging.apache.org/log4j/2.x/manual/configuration.html 。 -Dlog4j.configurationFile = SRC /主/资源/ log4j2.xml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.