谁能看出这个 xml 配置有什么问题吗?它是设置 2 个不同的日志文件,然后将跟踪记录到 1 个文件,将信息记录到另一个文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingRandomAccessFile name="LogTrace" fileName="../logs/Trace.log" filePattern="../logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="25 MB"/>
</Policies>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="LogInfo" fileName="../logs/Info.log" filePattern="../logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="25 MB"/>
</Policies>
</RollingRandomAccessFile>
</Appenders>
<Loggers>
<Logger name="monitor" level="info">
<AppenderRef ref="LogInfo" level="info"/>
</Logger>
<Root level="trace">
<AppenderRef ref="LogTrace" level="trace"/>
</Root>
</Loggers>
</Configuration>
LogTrace 正在工作,但 LogInfo 不起作用...
最佳答案
在您的代码中,您是否像这样使用监视器记录器:
Logger logger = LogManager.getLogger("monitor");
logger.info("test info message");
以上内容应该有效,因为您的配置声明了名为“monitor”的信息级别记录器。
关于java - log4j2 xml配置日志到2个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722536/