log4j 详解

来源:互联网 发布:cnzz数据统计 编辑:程序博客网 时间:2024/06/15 15:17

log4j的输出级别分为 OFF(关闭日志) > FATAL(致命错误) > ERROR(错误) > WARN(警告) > INFO > DEBUG > ALL(打开日志)

log4j建议只使用 四种级别 ERROR,WARN,INFO,DEBUG

当日志的输出级别定义为 ERROR时 日志级别小的不会被打印

log4j 基本组成部分(优先级,日志输出地址,输出格式)

优先级
log4j.rootLogger = INFO, appenderName, appenderName, …
日志输出地址
ConsoleAppender(控制台),  
FileAppender(文件),  
DailyRollingFileAppender(每天产生一个日志文件),  
RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  
WriterAppender(将日志信息以流格式发送到任意指定的地方)
输出格式
HTMLLayout(以HTML表格形式布局),  
PatternLayout(可以灵活地指定布局模式),  
SimpleLayout(包含日志信息的级别和信息字符串),  
TTCCLayout(包含日志产生的时间、线程、类别等等信息)

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL  
%r 输出自应用启动到输出该log信息耗费的毫秒数  
%c 输出所属的类目,通常就是所在类的全名  
%t 输出产生该日志事件的线程名  
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”  
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921  
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

log4j 基本配置步骤

1. 新建一个java项目,新建一个lib文件夹

2.将 log4j-1.2.9.jar 拖进lib文件夹中,点击log4j-1.2.9.jar 右键 build path 选择 add to build path

3.新建log4j.properties 文件 写入内容  如代码片段1

4.在项目的src 先新建一个 Text.java,写入 代码片段2

log4j.rootLogger=INFO,Console,File,D#\u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u53F0log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.outlog4j.appender.Console.layout = org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=[%c] - %m%n#\u8F93\u51FA\u6240\u6709\u65E5\u5FD7\u5230E://logs/log.log\u6587\u4EF6\u5939\u4E0Blog4j.appender.File = org.apache.log4j.RollingFileAppenderlog4j.appender.File.File = E://logs/log.loglog4j.appender.File.MaxFileSize = 10MBlog4j.appender.File.Threshold = ALLlog4j.appender.File.layout = org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n#\u8F93\u51FAdebug\u7EA7\u522B\u4EE5\u4E0A\u4FE1\u606Flog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = E://logs/debug.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 private static Logger logger = Logger.getLogger(Test.class);      public static void main(String[] args) {          logger.debug("This is debug message.");          logger.info("This is info message.");          logger.warn("This is warn message.");        logger.error("This is error message.");      }  









原创粉丝点击