Log4j




配置文件:

l         配置文件要放在/web-inf/classes(eclipse下可以放在src下面)下面或者应用程序的项目根目录下面

l         名称为:log4j.properties

l         几个重要的配置:

Log4j.rootLogger=级别,输出源1,输出源2……

1.         级别:DEBUG<INIFO<WARN<ERROR<FATAL

2.         规格:如果一条日志信息的级别大于等于配置文件的级别,就记录

3.         常见输出源:CONSOLE,FILE

4.         例子:log4j.tootLogger=WARN,CONSOLE,FILE

5.         当用户调用logger.debug(“aaa”)时,信息不会打印到控制台和文件

6.         当用户调用logger.Error(“aaa”)时,信息会打印到控制台和文件

接下来还要对各种输出源的配置

 

日志布局:

 

Tips:

1.         调试时,将项目的log级别定低一些,实际运行时可以将log级别定高一些,屏蔽掉调试时要输出的信息

2.         推荐使用异常集中处理和日志集中处理专门定义一个类来负责处理各种类型的异常以及相应的日志操作

3.         项目运行时,可以(1)设置多个日志文件分别存储不同级别的日志信息 2)可以按照时间定期生成不同的日志文件,用到日期滚动日志

4.         项目中,不要用system.out.println(“”);来跟踪程序的运行过程。

 

log4j配置详解


Log
日志包
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
ConsoleAppender
,控制台输出
FileAppender
,文件日志输出
SMTPAppender
,发邮件输出日志
SocketAppender
Socket日志
NTEventLogAppender
Window NT日志
SyslogAppender

JMSAppender

AsyncAppender

NullAppender

文件输出:RollingFileAppender
log4j.rootLogger = INFO,logfile
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold = INFO   //
输出以上的INFO信息
log4j.appender.logfile.File = .. / logs / INFO_log     //
保存log文件路径
log4j.appender.logfile.Append = true    //
默认为true,添加到末尾,false在每次启动时进行覆盖
log4j.appender.logfile.MaxFileSize = 10KB  //
一个log文件的大小,超过这个大小就又会生成1个日志  // KB MBGB
log4j.appender.logfile.MaxBackupIndex = 3   //
最多保存3个文件备份
log4j.appender.logfile.layout = org.apache.log4j.HTMLLayout  //
输出文件的格式
log4j.appender.logfile.layout.LocationInfo = true  #
是否显示类名和行数
log4j.appender.logfile.layout.Title =
页面title  #html页面的 < title >
############################## SampleLayout ####################################
# log4j.appender.logfile.layout = org.apache.log4j.SampleLayout
############################## PatternLayout ###################################
# log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
# log4j.appender.logfile.layout.ConversionPattern =% d  % p [ % c]  -   % m % n  % d
############################## XMLLayout #######################################
# log4j.appender.logfile.layout = org.apache.log4j.XMLLayout
# log4j.appender.logfile.layout.LocationInfo = true  #
是否显示类名和行数
############################## TTCCLayout ######################################
# log4j.appender.logfile.layout = org.apache.log4j.TTCCLayout
# log4j.appender.logfile.layout.DateFormat = ISO8601
#NULL, RELATIVE, ABSOLUTE, DATE or ISO8601.
# log4j.appender.logfile.layout.TimeZoneID = GMT - 8 : 00
# log4j.appender.logfile.layout.CategoryPrefixing = false  ##
默认为true 打印类别名
# log4j.appender.logfile.layout.ContextPrinting = false  ##
默认为true 打印上下文信息
# log4j.appender.logfile.layout.ThreadPrinting = false  ##
默认为true 打印线程名
#
打印信息如下:
2007 - 09 - 13   14 : 45 : 39 , 765  [http - 8080 - 1 ] ERROR com.poxool.test.test  -  error
成功关闭链接
###############################################################################
每天文件的输出:DailyRollingFileAppender
log4j.rootLogger = INFO,errorlogfile
log4j.appender.errorlogfile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorlogfile.Threshold = ERROR
log4j.appender.errorlogfile.File = .. / logs / ERROR_log
log4j.appender.errorlogfile.Append = true  #
默认为true,添加到末尾,false在每次启动时进行覆盖
log4j.appender.errorlogfile.ImmediateFlush = true   #
直接输出,不进行缓存
# ' . ' yyyy - MM:
每个月更新一个log日志
# ' . ' yyyy - ww:
每个星期更新一个log日志
# ' . ' yyyy - MM - dd:
每天更新一个log日志
# ' . ' yyyy - MM - dd - a:
每天的午夜和正午更新一个log日志
# ' . ' yyyy - MM - dd - HH:
每小时更新一个log日志
# ' . ' yyyy - MM - dd - HH - mm:
每分钟更新一个log日志
log4j.appender.errorlogfile.DatePattern = ' . ' yyyy - MM - dd ' .log '  #
文件名称的格式
log4j.appender.errorlogfile.layout = org.apache.log4j.PatternLayout
log4j.appender.errorlogfile.layout.ConversionPattern =% d  % p [ % c]  -   % m % n  % d

控制台输出:
log4j.rootLogger = INFO,consoleAppender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.Threshold = ERROR
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern =% d  %- 5p  % m % n
log4j.appender.consoleAppender.ImmediateFlush = true    //
直接输出,不进行缓存
log4j.appender.consoleAppender.Target = System.err  //
默认是System.out方式输出
转自:http://www.blogjava.net/fine/archive/2008/01/28/178127.html
发送邮件:SMTPAppender
log4j.rootLogger = INFO,MAIL
log4j.appender.MAIL = org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold = DEBUG
log4j.appender.MAIL.BufferSize = 10KB
log4j.appender.MAIL.From = yu77585211111@ 163 .com
log4j.appender.MAIL.SMTPHost = mail.myce.net.cn
log4j.appender.MAIL.Subject = Log4J Message
log4j.appender.MAIL.To = yuyongpeng@myce.net.cn
log4j.appender.MAIL.layout = org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern =% d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n

数据库:JDBCAppender
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL = jdbc:oracle:thin:@ 210.51 . 173.94 : 1521 :YDB
log4j.appender.DATABASE.driver = oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.user = ydbuser
log4j.appender.DATABASE.password = ydbuser
log4j.appender.DATABASE.sql = INSERT INTO A1 (TITLE3) VALUES ( '  %d - %c %-5p %c %x - %m%n ' )
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern =% d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n




1.<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
此参数用于后面的“Log4jConfigListener”-->
<!-- log4j config -->
	<context-param>
		<param-name>webAppRootKey</param-name>
		<param-value>webapp.assistpush4ios.root</param-value>
	</context-param>
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpath:log4j/log4j.xml
        </param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
2、编写log4j.properties等属性文件,使用web.xml配置的全局变量:
apns.cert.file=${webapp.assistpush4ios.root}\\WEB-INF\\classes\\mail\\apns-cert.p12


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值