2015-11-01 72 views
0

我遇到了一個問題,最近升級了log4j。移動到log4j2,我看到Spring在INFO級別附加URL路徑處理程序的輸出。不過,我將根記錄器設置爲錯誤。Spring4啓動期間的Log4j2 tomcat配置問題

下面是配置

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN" xmlns="http://logging.apache.org/log4j/2.0/config"> 
    <Properties> 
     <Property name="LOG_DIR">logs</Property> 
     <Property name="ARCHIVE">${LOG_DIR}</Property> 
     <Property name="LOG_PREFIX">logname-</Property> 
     <Property name="FILE_PATTERN">%d{ISO8601}\t%r\t%t\t%-5p\t%c{1}\t%m%n</Property> 
     <Property name="CONSOLE_PATTERN">[%d{ISO8601}|%-5p|%c{1}|%M|%L] %m%n</Property> 
    </Properties> 
    <Appenders> 
     <File name="FILE" fileName="logname.log" append="true"> 
      <PatternLayout pattern="${FILEPATTERN}" /> 
     </File> 
     <RollingFile name="fileWriter" fileName="${LOG_DIR}/${LOG_PREFIX}.log" filePattern="${ARCHIVE}/${LOG_PREFIX}-%d{yyyy-MM-dd-hh-mm}.log" immediateFlush="false"> 
      <PatternLayout pattern="${FILE_PATTERN}" /> 
      <TimeBasedTriggeringPolicy/> 
     </RollingFile> 

     <Console name="STDOUT" target="SYSTEM_OUT"> 
      <PatternLayout pattern="${CONSOLE_PATTERN}" /> 
     </Console> 
     <Async name="Async-File"> 
      <AppenderRef ref="FILE" /> 
     </Async> 
     <Async name="Async-Console"> 
      <AppenderRef ref="STDOUT" /> 
     </Async> 
    </Appenders> 
    <Loggers> 
     <Root> 
      <AppenderRef ref="Async-Console" level="error" /> 
      <AppenderRef ref="Async-File" level="error" /> 
     </Root> 
    </Loggers> 
</Configuration> 

並在啓動tomcat的輸出

Nov 01, 2015 5:19:34 PM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler 
INFO: Mapped URL path [/universal/applyTemplate/] onto handler 'RESTTemplate' 

有幾百行本次啓動的,但我想一個就足夠了。在這種情況下ROOT記錄器是否被覆蓋?

Tomcat版本也是7.55。

回答

0

輸出與您的配置不能使用的模式不匹配。您是否將log4j-web添加到您的應用程序中?您是否按照http://logging.apache.org/log4j/2.x/manual/webapp.html的說明操作?

+0

是的,我已將log4j-web添加到我的應用程序中。我已經嘗試了鏈接中提供的步驟,但沒有效果。 – Chitowns24

+0

答案是將log4j jlc jar添加到依賴項。 – Chitowns24