- 浏览: 261948 次
- 性别:
- 来自: 多伦多
文章分类
- 全部博客 (127)
- Java 基础 (46)
- Java EE (3)
- Clouds (1)
- Spring 编程 (7)
- Spring Batch 编程 (1)
- Quartz 编程 (9)
- Seam 编程 (4)
- Hibernate 编程 (1)
- JSF 编程 (3)
- jQuery 编程 (3)
- Interview Question 汇总 (3)
- 日常应用 (3)
- Maven 编程 (2)
- WebService 编程 (10)
- Scala 编程 (5)
- Coherence 编程 (8)
- OO 编程 (1)
- Java 线程 (6)
- DB 编程 (2)
- WebService 安全 (4)
- Oracle Fusion 编程 (2)
- JavsScript/Ajax 编程 (1)
最新评论
-
chainal:
赞,说的很好
Scala 有趣的Trait -
wuliupo:
RRRR-MM-DD HH24:MI:SS
如何让Oracle SQL Developer显示的包含在日期字段中的时间 -
pengain:
...
使用Spring Roo ,感受ROR式的开发 -
zeng1990:
def getPersonInfo() = {
(&quo ...
Java 的继位人? - Scala简介 -
zeng1990:
我使用的是2.9.2版本的!
Java 的继位人? - Scala简介
Log4j
Logback是由log4j创始人设计的又一个开源日记组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日记系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日记的功能。
LOGBack作为一个通用可靠、快速灵活的日志框架,将作为Log4j的替代和SLF4J组成新的日志系统的完整实现。LOGBack声称具有极佳的性能,“ 某些关键操作,比如判定是否记录一条日志语句的操作,其性能得到了显著的提高。这个操作在LogBack中需要3纳秒,而在Log4J中则需要30纳秒。 LogBack创建记录器(logger)的速度也更快:13微秒,而在Log4J中需要23微秒。更重要的是,它获取已存在的记录器只需94纳秒,而 Log4J需要2234纳秒,时间减少到了1/23。跟JUL相比的性能提高也是显著的”。
另外,LOGBack的所有文档是全面免费提供的,不象Log4J那样只提供部分免费文档而需要用户去购买付费文档。
SLF4J
简单日记门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过SLF4J提供的API实现来开发相应的适配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
SLF4J库类似于Apache Common-Logging。但是,他在编译时静态绑定真正的Log库。使用SLF4J时,如果你需要使用某一种日志实现,那么你必须选择正确的SLF4J的jar包的集合。 如此便可以在OSGI中使用了。
Object[] params = {value1, value2, value3};
logger.debug(“first value: {}, second value: {} and third value: {}.”, params);
现在,Hibernate、Jetty、Spring-OSGi、Wicket和MINA等项目都已经迁移到了SLF4J,由此可见SLF4J的影响力不可忽视。
使用CommonLog接口而实际由SLF4J和Log4j实现的过程
1、项目中照常使用
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
编写日志。
2、仍然在src下使用log4j.properties文件进行配置。
3、使用的所有jar文件:
1)log4j-1.2.15.jar 这是log4j的库。 SLF4J并不改变这个底层实现库。
2)slf4j-api-1.5.2.jar 这是SLF4J库。
3)slf4j-log4j12-1.5.2.jar 这包含Log4j的适配器和静态绑定log4j底层实现。
4)jcl-over-slf4j-1.5.2.jar 这提供了Commons-Logging接口,以及使用common-loggin的接口,底层还是由SLF4J来决定哪种实现机制 。
这里,我们需要使用Log4j的原生库,但是不需要Commons-Logging的原生库。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<substitutionProperty name="log.base" value="../logs/hzg" />
<jmxConfigurator />
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
</appender>
<!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份)-->
<appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>2MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
</appender>
<!-- 需要记录日志的包 -->
<logger name="org.springframework">
<level value="WARN" />
</logger>
<logger name="org.hibernate">
<level value="WARN" />
</logger>
<logger name="org.hibernate.SQL">
<level value="WARN" />
</logger>
<logger name="org.hibernate.cache">
<level value="ERROR" />
</logger>
<root>
<level value="INFO" />
<appender-ref ref="stdout" />
<appender-ref ref="logfile" />
</root>
</configuration>
使用slf4j+logback的优势:
- 支持按文件大小或基于时间的切分方式,可自定义命名模式
- 支持文件打包(触发器方式)
- 支持OSGI环境
发表评论
-
设计模式之事务处理
2010-11-25 07:36 912转自 http://www.blogjava.net/kill ... -
设计自己的MVC框架(1)
2010-11-25 07:27 1251转自 http://www.blogjava.net/ ... -
设计自己的MVC框架(2)
2010-11-25 07:24 1178转自 http://www.blogjava.ne ... -
使用Annotation设计持久层
2010-11-25 06:59 956(From http://www.blogjava. ... -
Jakarta Commons StringUtils类使用
2010-11-25 06:58 935转自http://www.blogjava.net/ ... -
Jakarta Commons ArrayUtils类使用
2010-11-25 06:57 1133转自http://www.blogjava.net/ ... -
Reflection的三个动态性质
2010-11-25 06:56 1013转自http://www.blogjava. ... -
用commons.fileupload实现文件的上传和下载
2010-11-25 06:55 1401转自http://www.blogjav ... -
JAVA基础:共享内存在Java中的实现和应用
2010-11-25 06:54 874(转自 http://www.bu ... -
JAVA变量类型之间的相互转换
2010-11-25 06:52 899(转自 http://www.builder.c ... -
优秀Java程序员必须了解的GC工作原理
2010-11-25 06:52 889(转自 http://www.build ... -
几种版权信息详解
2010-11-25 06:49 1132BSD开源协议(original ... -
Java JDK 1.4 JCE Provider issue.
2010-11-25 06:48 1175Bundled JCE provider in jdk1 ... -
Why use Map.entrySet() instead of Map.keySet()?
2010-11-25 06:45 1394(From http://www.coderan ... -
Credit Card Mod10 校验
2010-11-25 06:27 2076以下是几种Mod10的实现。第一种最为简洁,最后一种 ... -
如何知道方法的调用者
2010-11-25 05:57 7399转自http://hellboys.bok ... -
Java加解密的基础
2010-11-25 05:49 2821在Java的安全包中,包括了三部分内容: ... -
Java SE 6新特性:Instrumentation
2010-11-25 05:35 1076(转自http://baike.baidu.com ... -
JBOSS 启动 加载 过程
2010-09-11 00:26 3024(转自: http://blog.csdn.net/ylli_ ... -
JAVA性能优化—Sun Hotspot JDK JVM参数设置
2010-09-11 00:18 1206(转自: http://www.hashei.me/2009/ ...
相关推荐
今天我们将聚焦两个流行的日志框架——SLF4J(Simple Logging Facade for Java)和Logback,以及它们与Log4j和Commons-Logging的对比。 SLF4J是一个接口层的日志框架,它提供一个统一的API,允许用户在运行时插入...
SLF4J(Simple Logging Facade for Java)和Log4j是Java开发中常见的日志处理框架,它们在软件开发中扮演着至关重要的角色。SLF4J提供了一个抽象层,允许开发者选择自己喜欢的日志框架,如Logback、Log4j等。而Log4j...
**SLF4J**全称为“简单日志门面”,它提供了一个接口层,允许开发者在运行时选择任何喜欢的日志框架,如Log4j、Logback等。SLF4J的主要优点在于它的可插拔性,使得项目的日志实现可以在部署时进行调整,而无需修改...
因此,一些现代的日志框架,如SLF4J和Logback,更受推崇,它们提供了静态绑定和更高的性能。 总的来说,Apache Commons Logging是Java开发中一个重要的日志抽象层,它简化了日志框架的切换,提高了代码的可移植性。...
Logback是一款广泛使用的Java日志框架,它提供了高效且灵活的日志记录功能。SLF4J(Simple Logging Facade for Java)则是一个日志抽象层,允许开发者在不修改代码的情况下更换不同的日志实现。本主题将详细介绍如何...
它提供了一种统一的方式来管理和记录应用程序的日志信息,允许开发者选择自己喜欢的日志实现,如Log4j、Java Util Logging (JUL) 或者 Logback等,而无需修改代码。JCL通过API抽象了各种日志框架,使得应用可以在...
CXF支持多种日志实现,包括Java Util Logging、Log4j和SLF4J(Simple Logging Facade for Java)。SLF4J提供了一个接口层,允许用户在运行时插入任何日志框架,如Logback或Log4j,使得日志配置更加灵活。 1. **SLF4...
然而,这个API的功能相对有限,因此在实际项目中,开发者通常会选择更强大的日志框架,如Log4j或Logback。 Log4j是Apache组织的一个开源项目,它具有灵活的日志记录配置,可以输出到控制台、文件、SMTP邮件、数据库...
更强大的有Log4j、SLF4J(Simple Logging Facade for Java)和Logback,它们提供了更灵活的日志配置和更丰富的日志级别控制,便于调试和监控应用。 这些工具类大大提升了Java开发的效率,使得开发者能专注于业务...
9. **slf4j-api**: Simple Logging Facade for Java,提供日志记录接口,可以与其他日志框架(如Logback、Log4j)集成。 10. **netty**: 用于网络I/O,Elasticsearch的网络通信层依赖于Netty。 除此之外,还有其他...