你应该更新的target/classes/log4j2.xml
代替src/main/resources/log4j2.xml
更新日志级别:
这是我的测试,它适用于我
Test.java
public class Test {
static final Logger logger = LogManager.getLogger();
public static void main(String[] args) throws InterruptedException {
while (true) {
logger.info("info");
logger.error("error");
Thread.sleep(1000);
}
}
}
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="5">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
我改变了水平target/classes/log4j2.xml
从信息错误和应用程序只输出错误日志消息。
基本上我想在运行时更新log4j2.xml中的日志级别。但无法让它工作。有一些代码必须用java文件写入吗? –
你如何确定它不起作用?你能向我们展示更多信息吗? – wangyuntao
当我的应用程序从info运行到错误时,我正在更改日志级别。即使这样,信息级日志也被打印到STDOUT。但是,如果我重新启动服务器,则会反映更改。 –