Java 如何登录不同的文件?log4j2
我需要将所有信息记录到info.log,将所有警告记录到warn.log等,并将所有日志记录到all.log。我已经创建了一个log4j2.xml配置Java 如何登录不同的文件?log4j2,java,logging,configuration,log4j,log4j2,Java,Logging,Configuration,Log4j,Log4j2,我需要将所有信息记录到info.log,将所有警告记录到warn.log等,并将所有日志记录到all.log。我已经创建了一个log4j2.xml配置 <?xml version="1.0" encoding="UTF-8"?> <configuration monitorInterval = "3" status = "info"> <appenders> <File name="ALL_LOG" fil
<?xml version="1.0" encoding="UTF-8"?>
<configuration monitorInterval = "3" status = "info">
<appenders>
<File name="ALL_LOG" fileName="logs/all.log">
<PatternLayout pattern="%d{ISO8601} [%-5p] (%F:%L) - %m%n"/>
</File>
<File name="FILE_ERROR" fileName="logs/error.log">
<PatternLayout pattern="%d{ISO8601} [%-5p] (%F:%L) - %m%n"/>
</File>
<File name="FILE_INFO" fileName="logs/info.log">
<PatternLayout pattern="%d{ISO8601} [%-5p] (%F:%L) - %m%n"/>
</File>
<File name="FILE_DEBUG" fileName="logs/debug.log">
<PatternLayout pattern="%d{ISO8601} [%-5p] (%F:%L) - %m%n"/>
</File>
<File name="FILE_WARN" fileName="logs/warn.log">
<PatternLayout pattern="%d{ISO8601} [%-5p] (%F:%L) - %m%n"/>
</File>
<Console name="STDOUT" target="SYSTEM_OUT.log">
<PatternLayout pattern="%d{ABSOLUTE} [%-5p] (%F:%L) - %m%n"/>
</Console>
</appenders>
<loggers>
<root>
<appender-ref ref="ALL_LOG"/>
</root>
<root level="error">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE_ERROR"/>
</root>
<root level="info">
<appender-ref ref="FILE_INFO"/>
</root>
<root level="debug">
<appender-ref ref="FILE_DEBUG"/>
</root>
<root level="warn">
<appender-ref ref="FILE_WARN"/>
</root>
</loggers>
</configuration>
但只有在warn.log文件中我有
警告消息
,其他文件创建,但为空。我做错了什么?配置中只能有一个记录器。在该根记录器上,定义多个Appender引用,每个文件Appender对应一个
这个问题是重复的。请看一看:Vargan,您指定的答案是针对log4j1.x的。这个问题是针对log4j2的。哦,你能举个简单的例子吗?
public class Main {
public static Logger LOG = Logger.getLogger(Main.class);
public static void main(String[] args) {
LOG.debug("Debug message");
LOG.warn("Warning message");
LOG.info("Info message");
}