一,添加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");
.......
五,參考資料