以前都是直接用log4j,重來沒自已配置過,學習一下如何在spring環境中配置log4j。
第一步:添加log4j的相關包,這個步驟對於spring環境可以省了,應該已經有了。
第二步:在spring的環境中添加log4j的配置。
- <context-param>
- <param-name>webAppRootKey</param-name>
- <param-value>應用名.root</param-value>
- </context-param>
- <context-param>
- <param-name>log4jConfigLocation</param-name>
- <param-value>WEB-INF/log4j.properties</param-value>
- </context-param>
- <context-param>
- <param-name>log4jRefreshInterval</param-name>
- <param-value>3000</param-value>
- </context-param>
- <listener>
- <listener-class>
- org.springframework.web.util.Log4jConfigListener
- </listener-class>
- </listener>
應用名.root 相當於添加一個系統變量,主要是爲了指定應用的路徑。
第三步:當於就是log4j本身的配置了。
- log4j.rootCategory=INFO, stdout , R
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d-[HL] %p %t %c - %m%n
- log4j.appender.R=org.apache.log4j.RollingFileAppender
- log4j.appender.R.File=${應用名.root}/WEB-INF/logs/xx.log
- log4j.appender.R.MaxFileSize=1024KB
- log4j.appender.R.MaxBackupIndex=10
- log4j.appender.R.layout=org.apache.log4j.PatternLayout
- log4j.appender.R.layout.ConversionPattern=%d-[HL] %p %t %c - %m%n
- log4j.logger.org.springframework=DEBUG
- log4j.logger.org.hibernate=DEBUG
- log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
- log4j.logger.com.lagooo.as=DEBUG
metadata下面。\.metadata\.me_tcat\webapps\應用名
這個要注意,在正式運行時就會是你理解的目錄了。
關於配置,最主要的幾點是:
1:org.apache.log4j.RollingFileAppender 這是文件方式的輸出,但可能是多個文件。
2:log4j.appender.R.MaxFileSize=1024KB 規定最大到1024K,就生成新文件。
log4j.appender.R.MaxBackupIndex=10 最多生成10個,
這種方式下,日誌文件名會是:xx.log xx.log.1 xx.log.2……
3:log4j.appender.R.layout.ConversionPattern 這是內容部分:就不再一一介紹了,可查log4j的幫助。
4:最後幾行約定了相應代碼包出錯時的日誌級別。
第四步:使用:
- import org.apache.log4j.Logger;
- private static Logger log = Logger.getLogger(SessionListener.class);
- log.info("SessionListener contextInitialized!");
引入logger,在類中生成靜態實例,調用 info debug error……方法。