maven web專案儲存log4j日誌到WEB-INF
阿新 • • 發佈:2018-12-31
在專案中需要隨時監控程式的執行情況,如果程式在某個位置出現錯誤或者bug,使用Log4j可以快速定位,將log檔案儲存在WEB-INF下,便於快速定位問題,下面就是Maven web專案下log4j的配置。
1、 新增log4j.properties
在resource目錄下新增log4j的配置檔案,內容如下:
#---- global logging configuration
#---- level: FATAL,ERROR,WARN,INFO,DEBUG
#---- appender: console, file, mail
### set log levels ###
log4j.rootLogger = DEBUG ,console
### 輸出到控制檯 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 輸出到日誌檔案 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = ${project}/WEB-INF/logs/log.log
log4j.appender.file.DatePattern=_yyyyMMdd'.log'
#log4j.appender.file.Append = true
#log4j.appender.file.Threshold = INFO
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern =%-d{yyyy-MM-dd HH \:mm\:ss} [ %t\:%r ] - [ %p ] %m%n
### 列印SQL ###
#log4j.logger.com.ibatis=DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.ResultSet=DEBUG
2、 指定log4j配置檔案和監聽器
在web.xml中指定log4j的配置檔案,並新增監聽器:
<!-- 配置log4j start-->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>project</param-value> #在log4j中需要獲取專案的路徑
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 配置log4j end-->