2017-04-07 180 views
0

嗨,我使用log4j2,我已经写了log4j2.xml文件,该文件是在Log4j2.xml则monitorinterval不工作

src/main/resources 

我还添加了一个属性

<Configuration monitorInterval="60"> 

但是这并未”工作。如何使用Intellij将此文件添加到我的类路径中。

我已经包含在我的下构建标签的pom.xml如下:

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    </resource> 
</resources> 
+0

基本上我想在运行时更新log4j2.xml中的日志级别。但无法让它工作。有一些代码必须用java文件写入吗? –

+0

你如何确定它不起作用?你能向我们展示更多信息吗? – wangyuntao

+0

当我的应用程序从info运行到错误时,我正在更改日志级别。即使这样,信息级日志也被打印到STDOUT。但是,如果我重新启动服务器,则会反映更改。 –

回答

0

你应该更新的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从信息错误和应用程序只输出错误日志消息。

+0

我想我们不应该改变目标目录,尽管不确定,因为我是maven的新手。 P:这也不行。 –

+0

你可以试试。 – wangyuntao

+0

的'目标/班/ log4j2.xml'配置文件是在运行时,你正在使用的一个。 – wangyuntao