SSH框架配置log4j

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") + "登录系统");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章