commons-logging log4j logback 知识点
log4j 2,需要导入2个jar包:
log4j-core-xx.jar
log4j-api-xx.jarlog4j 2 的 properties 配置文件名字为: log4j2.properties
都加了2.static Logger logger = LogManager.getLogger(MyApp.class.getName());
问:为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一?
答:Commons-logging的目的是为“所有的Java日志实现”提供一个统一的接口,使我们的项目不和具体的日志系统绑定的过于紧密,可以随意更改日志系统实现而不用改动项目本身。
使用Commons-logging的另外一个好处是使得项目中其它组件的日志输出都有一致的形式和级别控制等管理。Commons-logging自身的日志功能比较弱(只有一个简单的SimpleLog),所以一般不会单独使用它。
Log4j的功能非常全面强大,是目前的首选。几乎所有的Java开源项目都会用到Log4j,Log4j的项目一般也同时会用到commons-logging。java的日志接口有:
commons-logging
slf4jjava的日志实现有:
log4j
logback
commons-logging log4j logback 知识点的更多相关文章
- org.apache.log4j与org.apache.commons.logging这两个包有什么区别
apache common logging是一种log的框架接口,它本身并不实现log记录的功能,而是在运行时动态查找目前存在的日志库,调用相关的日志函数,从而隐藏具体的日志实现log4j是具体的日志 ...
- log4j+logback+slf4j+commons-logging的关系与调试
背景 由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...
- Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)
Acknowledgments I would like to thank Jacob Kjome for reviewing early drafts of this document. His c ...
- log4j+logback+slf4j+commons-logging的关系与调试(转)
背景 由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同.存在着在一个项目中,不同的版本,不同的框架共存.导致日志输出异常混乱.虽然也不至于对系统造成致命伤害,但是明显可以看出,架构 ...
- Java日志框架(Commons-logging,SLF4j,Log4j,Logback)
简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助.但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的 ...
- Java logger组件:slf4j, jcl, jul, log4j, logback, log4j2
先说结论 建议优先使用logback 或 log4j2.log4j2 不建议和 slf4j 配合使用,因为格式转换会浪费性能. 名词:jcl 和 jul 标题中的 jcl 是 apache Jakar ...
- 拨云见日,彻底弄清楚Java日志框架 log4j, logback, slf4j的区别与联系
log4j 以及 logback, slf4j 官网 日志框架的困惑 作为一个正常的项目,是必须有日志框架的存在的,没有日志,很难追踪一些奇奇怪怪的系统问题. 但是,我们经常在项目的依赖中,见到奇奇怪 ...
- 转:Java logger组件:slf4j, jcl, jul, log4j, logback, log4j2
先说结论 建议优先使用logback 或 log4j2.log4j2 不建议和 slf4j 配合使用,因为格式转换会浪费性能. 名词:jcl 和 jul 标题中的 jcl 是 apache Jakar ...
- Spring 使用 SLF4J代替 Commons Logging 写日志 异常
项目的日志更换成slf4j和logback后,发现项目无法启动.错误提示 Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/ ...
随机推荐
- OC 内存管理之自动内存管理ARC
一.基本简介 ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因 ...
- DB2开发系列之二——SQL过程
1.SQL 过程的结构 1)SQL过程的结构 CREATE PROCEDURE proc_name IN, OUT, INOUT parameters optional clauses S ...
- mysql监控利器mysqlmtop部署安装
MySQLMTOP是一个由Python+PHP开发的MySQL企业级监控系统.系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理.最重要是MySQL服务器无需安装任何Agent,只 ...
- cookie -- 添加删除
前段时间学到了cookie,之前的公司用的jquery插件,现在终于学到了原生的js <!doctype html> <html> <head> <meta ...
- SQL Server 调优系列基础篇 - 联合运算符总
前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧. 废话少说,直接进入本篇的主题. 技术准备 基于SQL Server200 ...
- Entity Framework之犹豫不决
记得去年初就开始关注Entity Framework,那时只是简单测试了一下,发现较之Nhibernate不太成熟.当时的EF主要表驱动方式开发,过度依赖edm文件,并且数据层耦合了模型层,让一些MV ...
- Spring学习笔记之各个包的作用
(1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工 ...
- MyEclipse 2017 Stable 2.0发布|附下载
MyEclipse个人开发者专享6.9折!仅剩最后3天!在线订购>> 2017 Stable 2.0版本带来了新的功能和修复,从Stable 1.0以来,已经发布了几个版本的Angular ...
- Linux更改文件权限命令
chmod命令 1.格式:chmod [-cfvR][--help][--version]mode file 2.参数 1)必要参数 -c 当发送改变时,报告处理信息 -f 错误信息不输出 -R 处理 ...
- Code Sign error: Provisioning profile XXXX can't be found
[iphone]Code Sign error: Provisioning profile XXXX can't be found 如果你更新了profile,再编译iphone项目,发现下面的错误, ...