log4j, common-logging, slf4j 关系】的更多相关文章

1. slf4j     他只提供一个核心slf4j api(就是slf4j-api.jar包),这个包只有日志的接口并没有实现     所以如果要使用就得再给它提供一个实现了些接口的日志包,     比如:log4j2, log4j, common logging, jdk log日志实现包等,但是这些日志实现又不能通过接口直接调用,     实现上他们根本就和slf4j-api不一致,因此slf4j又增加了一层来转换各日志实现包的使用,当然slf4j-simple除外.   slf4j+lo…
Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独的slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如log4j或者log4j2,要在系统中使用slf4j,我们需要引入的核心包为:slf4j-api-1.6.4.jar. 如果不想每次都写private  final Logger logger = LoggerFactory.getLog…
本文转载自:一个著名的日志系统是怎么设计出来的?(作者:刘欣) 前言 Java帝国在诞生之初就提供了集合.线程.IO.网络等常用功能,从C和C++领地那里吸引了大量程序员过来加盟,但是却有意无意地忽略了一个重要的功能: 输出日志. 对于这一点,IO大臣其实非常清楚, 日志是个很重要的东西, 因为程序运行起来以后, 基本上就是一个黑盒子,如果程序的行为和预料的不一致,那就是出现Bug了,如何去定位这个Bug 呢? 臣民们能用的工具有两个,第一个就是单步调试,一步步地跟踪,查看代码中变量的值, 这种…
Common.Logging是Apache下的一个开源日志接口组件,主要用于切换不同的日志库,因为当前流行的日志库有很多向log4j.log4net(log4j的.net版本)等等,所以为了能灵活的切换不同的日志组件以适应不同的系统(在系统的迭代过程中),所以设计了Common.Logging这个组件,下面废话不多说开始解析这个组件. 1.架构分析 首先大致浏览了下这个组件的架构 Common.Logging.Core Common.Logging 观察文件类型发现以下两点: (1).整个组件采…
1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-ref ref="RollingFileAppender" /> </root> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppende…
Common.Logging+(log4net/NLog/) common logging是一个通用日志接口,log4net是一个强大的具体实现,也可以用其它不同的实现,如EntLib的日志.NLog等. Common.Logging可以通过修改配置,更换不同的日志实现类,而不需要修改任何代码.   .net 项目使用CommonLogging: 1.添加必要的程序集:Common.Logging.dll.Common.Logging.Core.dll.Common.Logging.log4ne…
引用:  http://www.cnblogs.com/shijun/p/3713830.html 近期使用了Common.Logging的ILog接口做日志接口,同时利用其log4net适配器与log4net记录器来记录系统日志,在使用过程中碰到了log4net版本问题. 项目组件管理中安装组件包: PM> Install-Package Common.Logging PM> Install-Package Common.Logging.Log4Net  [2.0.1版本:依赖Common.…
Common.Logging源码解析一分析了LogManager主入口的整个逻辑,其中第二步生成日志实例工厂类接口分析的很模糊,本随笔将会详细讲解整个日志实例工厂类接口的生成过程! (1).关于如何生成日志实例工厂类接口的第一步,通过配置文件配置 配置文件中指定了要生成的是Log4NetLoggerFactory工厂类 通过上面这句代码生成了LogSettings实例 通过上面的代码生成Log4NetLoggerFactory工厂类实例,并将配置参数作为构造函数的参数传递进去,这样就生成了一个L…
 直接上干货:  报错归纳1: DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter. 原因:xml里面不能有java方不存在的类,它是会去找的,找不到就报错,所以,万一删掉java类了,xml里面的相对应映射的字段也要注释掉.遇到两次了!浪费不少时间! 2.MyBatis     他要加空构造   实例化对象 原因:MyBitis ,他实体类pojo …
使用Common.Logging+log4net规范日志管理   Common.Logging+(log4net/NLog/) common logging是一个通用日志接口,log4net是一个强大的具体实现,也可以用其它不同的实现,如EntLib的日志.NLog等. Common.Logging可以通过修改配置,更换不同的日志实现类,而不需要修改任何代码.   .net 项目使用CommonLogging: 1.添加必要的程序集:Common.Logging.dll.Common.Loggi…