1. 程式人生 > >Spring項目配置log4j日誌功能

Spring項目配置log4j日誌功能

-i .info end get spa ron b- web-inf files

一,添加log4j依賴包

可從官網上下載該依賴包log4j-x.x.xx.jar,下載後 build path,添加依賴包如使用maven,可以添加如下依賴

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
</dependency>

二,創建 log4j.properties 配置文件

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

### 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

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

<!-- 加載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>

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

public class Test {
    private static Logger logger = Logger.getLogger(Test.class);
    public static void main(String[]args)
    {
        logger.info("23423");
        logger.warn("sdfsdf");
    }
}

五,參考資料

Log4j 日誌配置示例詳解

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

Spring項目配置log4j日誌功能