log4j2日志未写入文件

时间:2018-07-18 15:46:03

标签: java logging log4j2

我正在使用log4j2,并且具有以下log4j2.xml文件:

log4j2.xml配置文件(如下):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="PropertiesConfig">
    <Properties>
        <Property name="baseDir">log/</Property>
        <Property name="logName">report</Property>
    </Properties>

    <Appenders>
        <Console name="Console" 
                 target="SYSTEM_OUT"
                 immediateFlush="true">
            <PatternLayout pattern="[%highlight{%-5level] %d %c{1}.%M() - %msg%n}" />
        </Console>

        <RollingFile name="RollingFile" 
                     fileName="${baseDir}${logName}.log"
                     filePattern="${baseDir}${logName}_%d{yyyy-MM-dd}.log"
                     immediateFlush="false">
            <PatternLayout pattern="[%-5level] %d %c{1}.%M() - %msg%n" />
            <Policies>
                <OnStartupTriggeringPolicy />
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console" level="info" />    
            <AppenderRef ref="RollingFile" level="warn" />
        </Root>
    </Loggers>
</Configuration>

我的项目是一个使用Java的Web应用程序。如果我使用Serlvet的日志系统,例如:

import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;

public class MySevlet {
   private static final Logger LOGGER = LogManager.getLogger(MyServlet.class);

   protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      LOGGER.warn("hello?");
      LOGGER.error("hello?");
      //...more stuff here...
   }
   //...more stuff here...
}

项目文件夹结构(如下):

enter image description here

我遇到的问题是我可以看到控制台日志,但是没有写入任何文件,因此滚动文件附加器不起作用。

如果我运行本地程序(不使用Servlet),则控制台和滚动文件附加程序都可以工作。

知道为什么会这样吗?

谢谢!

PS:我正在使用Netbeans 8.2 + Tomcat 8.0

0 个答案:

没有答案
相关问题