您的位置:首页 > 编程语言 > Java开发

Spring集成log4j日志管理

2016-03-18 14:57 351 查看
在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理。

进行配置之前,首先得下载jar包(log4j-1.2.11.jar)

配置如下:

1.在web.xml中最上面加入如下配置代码:

[html] view
plaincopy

<!--log4j配置文件加载-->

<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>/WEB-INF/log4j.properties</param-value>

</context-param>

<!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化-->

<context-param>

<param-name>log4jRefreshInterval</param-name>

<param-value>1800000</param-value>

</context-param>

<!--spring log4j监听器-->

<listener>

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

</listener>

[html] view
plain copy

<!--log4j配置文件加载-->

<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>/WEB-INF/log4j.properties</param-value>

</context-param>

<!--启动一个watchdog线程每1800秒扫描一下log4j配置文件的变化-->

<context-param>

<param-name>log4jRefreshInterval</param-name>

<param-value>1800000</param-value>

</context-param>

<!--spring log4j监听器-->

<listener>

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

</listener>

2.把log4j.properties配置文件放在上面配置的指定的目录下

log4j.properties配置文件:

[plain] view
plaincopy

######################################

# log4j配置相关说明

######################################

#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

#%r 输出自应用启动到输出该log信息耗费的毫秒数

#%c 输出所属的类目,通常就是所在类的全名

#%t 输出产生该日志事件的线程名

#%m 输出代码中指定的信息

#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似: 2002年10月18日 22:10:28,921

#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

#log4j提供4种布局:

#org.apache.log4j.HTMLLayout(以HTML表格形式布局)

#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息

#log4j中有五级logger 输出级别:

#FATAL 0

#ERROR 3

#WARN 4

#INFO 6

#DEBUG 7

######################################

# log4j相关配置

######################################

#日志输出级别

log4j.rootLogger=INFO,stdout,other

#设置stdout的日志输出控制台

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#输出日志到控制台的方式,默认为System.out

log4j.appender.stdout.Target = System.out

#设置使用灵活布局

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#灵活定义输出格式

log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %m %n

#设置other的日志输出控制台

log4j.appender.other=org.apache.log4j.RollingFileAppender

#设置other的输出日志

log4j.appender.other.File=${webapp.root}/WEB-INF/logs/log.log

#设置other的日志最大限制

log4j.appender.other.MaxFileSize=1024KB

#最多只保存20个备份文件

log4j.appender.other.MaxBackupIndex=1000

#输出INFO级别以上的日志

og4j.appender.other.Threshold=INFO

#设置使用灵活布局

log4j.appender.other.layout=org.apache.log4j.PatternLayout

#灵活定义输出格式

log4j.appender.other.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %t %m %n

######################################

# hibernate相关配置

######################################

#输出hibernate调试过程中的错误日志

log4j.logger.org.hibernate=other

#输出HQL查询调试日志

log4j.logger.org.hibernate.hql.ast.AST=other

#输出SQL语句调试日志

log4j.logger.org.hibernate.SQL=other

#输出 JDBC参数查询的日志

log4j.logger.org.hibernate.type=other

#输出缓存日志

log4j.logger.org.hibernate.cache=other

#输出事务日志

log4j.logger.org.hibernate.transaction=other

#输出获取JDBC资源日志

log4j.logger.org.hibernate.jdbc=other
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: