java日志组件:common-logging和log4j的使用说明
来源:互联网 发布:淘宝 毛毛哥音响 编辑:程序博客网 时间:2024/06/06 17:10
Commons-Logging简介
common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,如Log4J、Avalon LogKit、JDK1.4等。common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。当然,common-logging内部有一个Simple logger的简单实现,但是功能很弱。所以使用common-logging,通常都是配合着log4j来使用。使用它的好处就是,代码依赖是common-logging而非log4j, 避免了和具体的日志方案直接耦合,在有必要时,可以更改日志实现的第三方库。
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;public class Hello{ private static Log logger = LogFactory.getLog(Hello.class)); }
动态查找原理:
Step1: 找org.apache.commons.logging.LogFactory 属性配置
Step2: 没找到,则从Classpath 里寻找commons-logging.properties ,找到则根据里面的配置加载
Step3:还是没找到, 使用默认配置。
使用Commons-Logging做开发
1. 部署日志器
下载commons-logging.jar和log4j.jar包,能后把它们放到工程的lib目录下,引入工程中
2.指定日志
在属性文件common-logging.properties中设置实现接口的类。如下(这里设置Log4j为所使用的日志org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JCategoryLog
3.commons.logging.Log接口中定义的方法,按严重性由高到低的顺序:
log.fatal(Object message);
log.fatal(Object message, Throwable t);
log.error(Object message);
log.error(Object message, Throwable t);
log.warn(Object message);
log.warn(Object message, Throwable t);
log.info(Object message);
log.info(Object message, Throwable t);
log.debug(Object message);
log.debug(Object message, Throwable t);
log.trace(Object message);
log.trace(Object message, Throwable t);
信息级别
确保日志信息在内容上和反应问题的严重程度上的恰当,是非常重要的。
1)fatal非常严重的错误,导致系统中止。期望这类信息能立即显示在状态控制台上。
2)error其它运行期错误或不是预期的条件。期望这类信息能立即显示在状态控制台上。
3)warn使用了不赞成使用的API、非常拙劣使用API, ‘几乎就是’错误, 其它运行时不合需要和不合预期的状态但还没必要称为 “错误”。期望这类信息能立即显示在状态控制台上。
4)info运行时产生的有意义的事件。期望这类信息能立即显示在状态控制台上。
5)debug系统流程中的细节信息。期望这类信息仅被写入log文件中。
6)trace更加细节的信息。期望这类信息仅被写入log文件中。
log4j的配置通常如下
### set log levels ###log4j.rootLogger = debug , stdout , D , 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.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUG ## 输出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### 保存异常信息到单独文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/error.log ## 异常日志文件名log4j.appender.D.Append = truelog4j.appender.D.Threshold = ERROR ## 只输出ERROR级别以上的日志!!!log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
- java日志组件:common-logging和log4j的使用说明
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback)
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- This version of android studio is incompatible with the gradle version used.Try disabling the instan
- 异步下载照片墙
- UE4 Smart_Pointer_Library
- 如何清空串口接收数据显示框(EDIT控件)的数据
- JDOM 操作XML
- java日志组件:common-logging和log4j的使用说明
- MPchart 使用详解及详细属性( 二)----pieChart(饼状图)
- JavaScript绑定事件的方法[3种]
- VLC播放RTSP视频流(360浏览器可用)
- EventBus的使用
- javaweb学习总结(五)——Servlet开发(一)
- Java5种常用排序算法
- LSM树
- 关于ArcGIS API for Javascript的安装_3.17API与SDK