java Web应用配置log4j日志记录

第一步:首先建立一个WEB工程,去log4j官网下log4j的JAR包导入到工程的lib目录下第二步:在src目录下建一个log4j.properties 文件,文件命名可以由自己,只是记加载时候和这里名字一致就行;log4j.properties 里边的内容如下:

### set log levels ###log4j.rootLogger = debug,stdout,E

log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L – %m%n

log4j.appender.E= org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File =${catalina.home}/logs/log_log4j.appender.E.DatePattern=yyyy-MM-dd’.log’log4j.appender.E.Threshold =DEBUGlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}[%c] [%t\:%r] – [%p] %m%n可以单指定日志输出到某个文件:

log4j.logger.pay-log=Info,pay-log

log4j.appender.pay-log=org.apache.log4j.DailyRollingFileAppender

log4j.appender.pay-log.File=D:/logs/pay-log.log

log4j.appender.pay-log.DatePattern=’.’yyyy-MM-dd

log4j.appender.pay-log.Threshold =DEBUG

log4j.appender.pay-log.layout=org.apache.log4j.PatternLayout

log4j.appender.pay-log.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}[%c] [%t\:%r] – [%p] %m%n

解释下几个常用的,其它的在详细的,请自己去网上查找资料:log4j.rootLogger = debug,stdout,E 意思是父类logger 会以比debug 级别高的日志输出到 stdout,E 两个地方,子类也一样stdout是一个日志记录配置,它的意思是把日志输出到控制台上,也就是这个配置属性—>log4j.appender.stdout.Target = System.out,到时候到了生产上可以注解掉就可以了。E是一个日志记录配置,它是把日志文件记录到文件中去,log4j.appender.E.File =${catalina.home}/logs/log_ 是放日志文件的路径,其中${catalina.home}是容器的路径log4j.appender.E= org.apache.log4j.DailyRollingFileAppender 这个属性配置是一天产生一个新的日志文件(还有其它配置方式,这个是用的最多的)log4j.appender.E.DatePattern=yyyy-MM-dd’.log’这个属性是以时间为名字的文件日志,形式如下:log_2011-06-26.log,log_2011-06-28.log,不过第一个生成的日志文件的名字是:log_log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}[%c] [%t\:%r] – [%p] %m%n 这个是输出日志内容格式,详细情况请自己查阅资料;log4j.appender.E.Threshold =DEBUG 这个是输出日志级别(意思是只输出比DEBUG级别高的日志信息);

#appender名字定义log4j.rootLogger=INFO,FILE,consoleAppender,RollingFile,MAIL,DailyRollingFile,DATABASElog4j.addivity.org.apache=true

#配置日志信息输出目的地#log4j.appender.appenderName = fully.qualified.name.of.appender.class#(如:log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender)# 1.org.apache.log4j.ConsoleAppender(控制台)# 2.org.apache.log4j.FileAppender(文件)# 3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)# 4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)# 5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

#配置日志信息的格式#log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class#(如:log4j.appender.RollingFile.layout = org.apache.log4j.HTMLLayout)# 1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),# 2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),# 3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),# 4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

#日记记录的优先级:priority,优先级由高到低分为# OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。# Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。# ERROR 为严重错误 主要是程序的错误# WARN 为一般警告,比如session丢失# INFO 为一般要显示的信息,比如登录登出# DEBUG 为程序的调试信息

#输出格式:layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):# %c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)# %d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}# %l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数# %n 换行符# %m 输出代码指定信息,如info(“message”),输出message# %p 输出优先级,即 FATAL ,ERROR 等# %r 输出从启动到显示该log信息所耗费的毫秒数# %t 输出产生该日志事件的线程名

任何的限制,都是从自己的内心开始的。

java Web应用配置log4j日志记录

相关文章:

你感兴趣的文章:

标签云: