简介 简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置 日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。 Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来 显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些垃圾语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况。
Log4j的标准配置及详细说明:- <p>log4j.rootLogger = debug, stdout, R
- #log4j.rootLogger = [ level ], appendName1, appendName2, …appendNameN。同一个记录器可有多个输出端。
- #PS:level的级别(此级别可以自定义,系统默认提供了以下级别)
- #debug 调试信息
- #info 一般信息
- #warn 警告信息
- #error 错误信息
- #fatal 致命错误信息
- #上面列出的就是所谓log4j的输出级别,log4j建议只使用4个级别,
- #它们从上到下分别为ERROR、WARN、INFO、DEBUG,其中 ERROR > WARN > INFO > DEBUG
- #假设你定义的级别是info,那么error和warn的日志可以显示而比他低的debug信息就不显示了。
- log4j.appender.stdout = org.apache.log4j.ConsoleAppender
- #org.apache.log4j.ConsoleAppender,将日志信息输出到控制台
- #org.apache.log4j.FileAppender,将日志信息输出到一个文件
- #org.apache.log4j.DailyRollingFileAppender,将日志信息输出到一个,并且每天输出到一个新的日志文件
- #org.apache.log4j.RollingFileAppender,将日志信息输出到一个文件,通过指定文件的的尺寸,当文件大小到达指定尺寸的时候会自动把文件改名,如名为example.log的文件会改名为 example.log.1,同时产生一个新的example.log文件。如果新的文件再次达到指定尺寸,又会自动把文件改名为 example.log.2,同时产生一个example.log文件。依此类推,直到example.log. MaxBackupIndex, MaxBackupIndex的值可在配置文件中定义。
- #org.apache.log4j.WriterAppender,将日志信息以流格式发送到任意指定的地方。
- #org.apache.log4j.jdbc.JDBCAppender,通过JDBC把日志信息输出到数据库中。
- log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
- #log4j.appender.stdout.layout.ConversionPattern = [QC] %p [%t] %C.%M(%L) | %m%n
- log4j.appender.stdout.layout.ConversionPattern = [QC] %d{yyyy-MM-dd HH:mm:ss}:%p %t %c - %m %n
- #org.apache.log4j.HTMLLayout,以HTML表格形式布局
- #org.apache.log4j.PatternLayout,可以灵活地指定布局模式
- #org.apache.log4j.SimpleLayout,包含日志信息的级别和信息字符串
- #定义一个PatternLayout布局的语句为:
- #log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- #log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n
- #PS:ConversionPattern参数的格式含义
- #格式名 含义
- #%c 输出日志信息所属的类的全名
- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
- #%f 输出日志信息所属的类的类名
- #%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
- #%m 输出代码中指定的信息,如log(message)中的message
- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
- #%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
- #%r 输出自应用启动到输出该日志信息所耗费的毫秒数
- #%t 输出产生该日志事件的线程名
- log4j.appender.R = org.apache.log4j.RollingFileAppender
- #log4j.appender.R.File = d:/log/error.log
- log4j.appender.R.File = /opt/logs/log4j.log
- log4j.appender.R.MaxFileSize = 100KB
- log4j.appender.R.MaxBackupIndex = 1
- log4j.appender.R.layout = org.apache.log4j.PatternLayout
- #[QC] QUALITY CONTROL 品质控制
- log4j.appender.R.layout.ConversionPattern =[QC] %p %t %c - %m%n
- # 配置指定类的日志级别
- log4j.logger.com.neusoft = WARN
- log4j.logger.com.opensymphony.oscache = INFO
- log4j.logger.net.sf.navigator = WARN
- log4j.logger.org.apache.commons = WARN
- log4j.logger.org.apache.struts = WARN
- log4j.logger.org.displayta g= WARN
- log4j.logger.org.springframework = WARN
- log4j.logger.com.ibatis.db = WARN
- log4j.logger.org.apache.velocity = WARN
- log4j.logger.com.canoo.webtest = WARN
- log4j.logger.org.hibernate.ps.PreparedStatementCache = WARN
- log4j.logger.org.hibernate = WARN
- log4j.logger.org.logicalcobwebs = WARN
- log4j.logger.com.mchange.v2.async.ThreadPoolAsynchronousRunner = WARN
- log4j.logger.com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool = WAR
- # 错误信息 </p><p>#log4j.appender.error=org.apache.log4j.DailyRollingFileAppende
- #log4j.appender.error.File=E:/MyDoc/WorkSpace/webworkroot/logs/errors.log
- #log4j.appender.error.layout=org.apache.log4j.PatternLayout
- #log4j.appender.error.layout.ConversionPattern=[%d]-%-5p (%F:%L)|%m%n
- #log4j.appender.error.DatePattern='.'yyyy-MM-dd
- #log4j.appender.error.Threshold=ERROR
- #
- # CONSOLE
- #log4j.appender.console=org.apache.log4j.ConsoleAppender
- #log4j.appender.console.layout=org.apache.log4j.PatternLayout
- #log4j.appender.console.layout.ConversionPattern=(%F:%L)|%m%n
- #
- #log4j.appender.errorcsle=org.apache.log4j.ConsoleAppender
- #log4j.appender.errorcsle.layout=org.apache.log4j.PatternLayout
- #log4j.appender.errorcsle.layout.ConversionPattern=%-5p (%F:%L)|%m%n
- #log4j.appender.errorcsle.Threshold=ERROR
- #
- # 业务系统
- #log4j.logger.cn.vesung=DEBUG, logic
- #
- #log4j.appender.logic=org.apache.log4j.DailyRollingFileAppender
- #log4j.appender.logic.File=E:/MyDoc/WorkSpace/webworkroot/logs/logic.log
- #log4j.appender.logic.layout=org.apache.log4j.PatternLayout</p><p>#log4j.appender.logic.layout.ConversionPattern=[%d]-%-5p (%F:%L)|%m%n
- #log4j.appender.logic.DatePattern='.'yyyy-MM-dd</p>
复制代码 |