Spring 中配置log4j日誌功能

一,添加log4j依賴包html

可從官網上下載該依賴包log4j-x.x.xx.jar,下載後 build path,添加依賴包web

 

二,建立 log4j.properties 配置文件spring

log4j.properties配置文件用來配置 日誌的輸出格式、輸出的地址....apache

### set log levels ###
log4j.rootLogger = INFO, D, E

log4j.appender.D = org.apache.log4j.RollingFileAppender
log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.MaxFileSize = 50000KB
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

log4j.appender.E = org.apache.log4j.RollingFileAppender
log4j.appender.E.File = ${scheduleProject}WEB-INF/logs/schedule.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.MaxFileSize = 50000KB
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %l\:%c\:%t\:%r ] - [ %p ]  %m%n

log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log  設置 將日誌輸出到哪一個目錄下app

${scheduleProject}是web.xml中定義的一個用來惟一識別同一個窗口中不一樣項目的標識,就至關於 項目的 身份證(好比,一個Tomcat下可能部署了多個項目)框架

 

三,在web.xml文件中 配置 加載 log4j.properties的屬性ui

<!-- 加載log4j的配置文件log4j.properties -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
    </context-param>

    <!-- 設定刷新日誌配置文件的時間間隔,這裏設置爲10s -->
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>10000</param-value>
    </context-param>

    <!-- 加載Spring框架中的log4j監聽器Log4jConfigListener -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <!-- 爲避免項目間衝突,定義惟一的 webAppRootKey -->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>scheduleProject</param-value>
    </context-param>

①log4jConfigLocation 指定Spring從哪一個目錄下加載 log4j.properties 配置文件spa

②log4jRefreshInterval 當修改了配置文件時,不須要重啓就能加載變化了的log4j.properties 配置文件.net

③webAppRootKey 項目的標識,一個窗口中可能部署了多個項目,用它進行區分。當配置 日誌文件的輸出目錄時,可能會用到它日誌

 

四,在代碼中使用log4j進行日誌記錄

import org.apache.log4j.Logger;

class  Test{

private static Logger logger = Logger.getLogger(Test.class);
//....other code

logger.info("info ");
logger.error("error");
logger.warn("warn");

.......

 

五,參考資料

 Log4j 日誌配置示例詳解

Spring MVC中 log4j日誌文件配置相對路徑

相關文章
相關標籤/搜索