2012-11-25 106 views
6

我正在嘗試log4j2來創建日誌文件到我正在開發的系統上,我遵循了它們的指令site並且在運行它時沒有發生錯誤,但日誌是沒有保存在我設置的位置(例如「D:\ logs \ app.log」)。Log4j2保存文件(使用RollingFile appender)

這裏是我的log4j.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="OFF"> 
    <appenders> 
    <RollingFile name="MyRollingFile" fileName="D:/logs/app.log" 
       filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
     <PatternLayout> 
     <pattern>%d %p %C{1.} [%t] %m%n</pattern> 
     </PatternLayout> 
     <Policies> 
     <TimeBasedTriggeringPolicy /> 
     <SizeBasedTriggeringPolicy size="250 MB"/> 
     </Policies> 
     <DefaultRolloverStrategy max="20"/> 
    </RollingFile> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </appenders> 
    <loggers> 
    <logger name="Log_RollingFile" level="TRACE" additivity="false"> 
     <appender-ref ref="MyRollingFile"/> 
    </logger> 
    <root level="ERROR"> 
     <appender-ref ref="Console"/> 
    </root> 
    </loggers> 
</configuration> 

我想:

  • 刪除app.log,看看我的配置(d:\日誌\ app.log)作品。當我運行應用程序時,它會創建app.log,所以我認爲這意味着它會看到配置,並且唯一的不是保存我在java應用程序中執行的log.info
  • 將根級別更改爲「TRACE」,並打印log.info。

[編輯:]

我也有這些對我的類路徑庫

  • 的log4j的API-2.0-beta3.jar
  • log4j的,芯 - 2.0-beta3.jar

我在RollingFile配置或庫(可能)上丟失了什麼?

在此先感謝。

回答

3

您的記錄器名稱不正確。

正如您鏈接到的配置說明中所述,記錄器應根據您希望捕獲日誌記錄的包/類命名。

在他們的示例中,名爲com.foo.Bar的記錄器會將Bar類中的所有內容記錄在程序包com.foo中,並將其記錄爲TRACE級別。