我正在嘗試使用log4j來實現一些日誌記錄2.控制檯輸出是可以的,但是當我嘗試將一些日誌寫入文件時,我無法管理它。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下。
日誌文件夾與源文件夾處於同一級別。
是的,配置在src/main/resources中。我嘗試調試跟蹤並給你反饋。 –
你可以嘗試先用絕對路徑配置文件appender嗎?還請顯示正在記錄的班級的包名。 –