spring中配置log4j
slf4j和log4j用于做日志(log)的两套接口,他们都符合commonlog的标准而制定的.
log4j:
http://www.iteye.com/topic/378077
http://www.cnblogs.com/maxupeng/archive/2011/07/25/2116378.html
http://blog.csdn.net/zhll3377/article/details/7787612
http://www.blogjava.net/rickhunter/articles/28133.html
slf4j:
http://chenming47.iteye.com/blog/923658
http://my.oschina.net/zhenghuazhi/blog/6562
一、log4j
log4j.properties放在src下的话就不用配置否则得去web.xml里面配置一个Listener
第一种加载方法:
<servlet> <servlet-name>log4j-init</servlet-name> <servlet-class>com.foo.log.Log4jInit</servlet-class> <init-param> <param-name>log4j_properties_path</param-name> <param-value>WEB-INF/classes/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
第二种加载方法:
<context-param> <param-name>webAppRootKey</param-name> <param-value>project</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/classes/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
参考:
log4j.rootLogger=INFO,stdout,A1
#控制台打印
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#输出的信息
#如果使用pattern布局就要指定的打印,通常指把电脑或其他电子设备中的文字或图片等可见数据,通过打印机等输出在纸张等记录物上。更多..打印信息的具体格式ConversionPattern,打印参数如下:
#%m输出代码中指定的消息
#%p输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%r输出自应用启动到输出该log信息耗费的毫秒数
#%c输出所属的类目,通常就是所在类的全名
#%t输出产生该日志事件的线程名
#%n输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
#%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyyMMMddHH:mm:ss,SSS},输出类似:2002年10月18日22:10:28,921
#%l输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
log4j.appender.stdout.layout.ConversionPattern=%d[%t]%-5p%c-%m%n
#日志文件每日
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=F:/mylog.txt
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#%时间[%线程]%log级别%完整类名-%消息%换行
log4j.appender.A1.layout.ConversionPattern=%d[%t]%-5p%c-%m%n
二、slf4j
http://sishuok.com/forum/blogPost/list/3740.html