log4j学习整理1
log4j:log for java
准备:(我下载的jar包是log4j-1.2.17.jar 下载的网址是:http://logging.apache.org/log4j/1.2/download.html)
log4j主要是由三个组件来完成Loggers,Appernders和Layouts
1.Loggers
组要分为六个级别(不包括ALL和OFF)TRACE,DEBUG,INFO,WARN和FATAL(优先级从左到右依次增长)
2Appenders表示输出的日志的目的地
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件达到指定大小,产生一个新文件)
org.apache.log4j.WriterAppender(将日志一流格式发送到任意指定的地方)
3 Layouts
org.apache.log4j.HTMLLayout(以HTML形式布局)
org.apache.log4j.PatternLayout(以灵活的指定布局方式)
org.apache.log4j.SimpleLayout(以包含信息的日志信息)
org.apache.log4j.TTCCLayout(以日志的时间,线程,类别等等信息来布局)
配置根logger语法
log4j.rootLogger = [level] appenderName1,appenderName2
level:logger的优先级小于这个优先级的都不显示,这是一个全局的设置,如果对于某个appenderName可以单独的设置)
appenderName:日志输出的目的地
例子: log4j.rootLogger=INFO,A1,A2
配置日志输出地的语法
log4j.appender.appenderName = [org.apache.log4j.ConsoleAppender]
[org.apache.log4j.FileAppender]
[org.apache.log4j.DailyRollingFileAppender]
[org.apache.log4j.RollingFileAppender]
[org.apache.log4j.TTCCLayout]
配置输出格式的语法
log4j.appender.appenderName.layout=[org.apache.log4j.HTMLLayout]
[org.apache.log4j.PatternLayout]
[org.apache.log4j.SimpleLayout]
[org.apache.log4j.TTCCLayout]
log4j.properties配置之简单示例
log4j.rootLogger=INFO,A1
log4j.appender..A1 = org.apache.log4j.ConsoleAppender
log4j.appender.A1.loyout=org.apache.log4j.PatternLayout
log4j.apache.A1.layout.ConversionPattern = %-4r%-5p%d{yyyy-MM-dd HH:mm:ssS}%c %m%n
说明:
-x:信息输出时左对齐
%p:日志信息级别
%c:日志所在地类的全名
%m:日志产生的具体信息
%n:输出日志信息换行
%r:日志输出距离项目启动的毫秒数
%t:输出日志的线程
%d:输出日期时间
%l:输出行号
%M:输出方法名
%20c最小宽度20个字小于20个字默认右对齐
%-20c最小宽度20个字,小于20个右对齐(因为有-)
%.30c小于30个字没有空格,大于30个字截掉右边的字
文件大小设置:
log4j.appenderA2.MaxFileSize=500k;
log4j.appender.A2.MaxBackUpIndex=1 最多的备份文件数
当我们用SSH或者SSi开发的时候,框架会有一些信息输出,我们希望屏蔽掉这些没有实际用处的信息:
log4j.logger.org.springframework=OFF
log4j.logger.org.apache.struts=OFF
log4j.logger.com.opensymphony.xwork2=OFF
log4j.logger.com.ibatis=OFF
log4j.logger.org.hibernate=OFF