1. log4j(log4j.properties)配置文件
定義日誌配置文件,放到WEB-INFO目錄下。
log4j.logger.OperateLog=INFO,A1
###輸出到日誌文件###
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=E:\\file.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r]-[%p] %m%n
其中,OperateLog是自定義日誌的名稱,調用的時候要用到,該配置文件中可以定義多個不同的日誌輸出配置,當調用的時候用哪個就調用哪個。
INFO是日誌輸出級別,主要有:ERROR、WARN、INFO、DEBUG
ERROR 爲嚴重錯誤 主要是程序的錯誤
WARN 爲一般警告,比如session丟失
INFO 爲一般要顯示的信息,比如登錄登出
DEBUG 爲程序的調試信息
A1是輸出的目的地,可以是多個,直接跟在後面,用逗號隔開。表示將日誌級別爲INFO的信息輸出到A1這個目的地。接下來的四句代碼就是定義A1的。
關於appender輸出目的地,輸出格式等的詳細定義,自己可以google之,這裏不詳細介紹。
log4j的三個重要部分:日誌信息的優先級,日誌信息的輸出目的地,日誌信息的輸出格式。
2. web.xml配置
<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>60000</param-value>
</context-param>
<!-- 需要添加spring-web.jar包,否則用發生錯誤信息 -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
第一個參數定義的是log4j配置文件的位置,第二個參數定義的是刷新週期,修改log4j配置文件後不用重新部署。後面的是監聽器,必須將spring-web.jar包包含到項目工程裏。
3. 調用
在需要日誌輸出的類中,定義日誌對象
private final Logger logger = Logger.getLogger("OperateLog");
其中OperateLog是自定義的日誌名稱,可以根據需求,進行定義、使用。
在需要輸出日誌的地方使用
logger.info(session.getAttribute("user") + "登錄系統");