1. 程式人生 > >SpringMVC-配置日誌log4j.properties

SpringMVC-配置日誌log4j.properties

1. Maven 引入

        <!-- LOG 以下兩包都可 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>

        <!--
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        -->

2. 配置 log4j.properties

# 日誌級別:ALL < DEBUG < INFO < WARN < ERROR < FATAL 當前開啟某一級別日誌時,大於它的日誌也將被開啟
# FATAL - 致命級別日誌: 指出每個嚴重的錯誤事件將會導致應用程式的退出。
# ERROR - 錯誤級別日誌: 指出雖然發生錯誤事件,但仍然不影響系統的繼續執行的資訊。
# WARN  - 警告級別日誌: 表明會出現潛在錯誤的情形,有些資訊不是錯誤資訊,但是也要給程式設計師的一些提示。
# INFO  - 訊息級別日誌: 用於生產環境中輸出程式執行的一些重要資訊,但是不能濫用,避免列印過多的日誌。
# DEBUG - 除錯級別日誌: 開發人員可以將任意資訊在此列印,比如區域性變數的值等等,主要是為了瞭解程式執行狀態,便於除錯。
# TRACE - 跟蹤級別日誌: 一般不使用。

# rootLogger 第一引數為日誌級別, 其後引數為日誌載體
log4j.rootLogger=DEBUG, C, R

#定義日誌輸出目的地為控制檯
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.out
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:sss}][%p][%c] %m%n

# 定義日誌輸出到檔案 按時間劃分日誌檔案
# 每天產生一個日誌檔案
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
# 日誌列印路徑: 1.絕對路徑;
#log4j.appender.R.File=E:/logs/debug.log
# 日誌列印路徑: 2.相對路徑${webApp.root}對應當前應用根目錄,在web.xml配置webAppRootKey才能使用;
log4j.appender.R.File=${webapp.root}/logs/debug.log
# 定期生成日誌檔案: yyyy-MM 每月; yyyy-ww 每週; yyyy-MM-dd 每天; yyyy-MM-dd-a 每半天; yyyy-MM-dd-HH 每小時...
log4j.appender.R.DatePattern='('yyyy-MM-dd').log'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:sss}][%p][%c] %m%n

# 按大小劃分日誌檔案
# log4j.appender.R=org.apache.log4j.RollingFileAppender
# log4j.appender.R.MaxFileSize=100KB

3. web.xml 中配置

    <!-- 日誌記錄, 配置日誌檔案到專案根目錄下 -->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>webapp.root</param-value>
    </context-param>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>WEB-INF/classes/log4j.properties</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>
    </listener>
    <!-- 日誌記錄 -->

4. 總結

    當日志輸出到專案跟目錄時必須配置 web.xml 中配置; 若輸出絕對路徑則