zoukankan      html  css  js  c++  java
  • 日志框架

    日志框架主要分为两类

    • 日志门面:jcl、slf4j、jboss-logging
    • 日志实现:log4j、log4j2、logback、jul

    log4j是apache的一个开源项目

    logback是一个成熟的框架,由log4j的作者写成,logback分成三个模块:

    • logback-core是其他两个模块的基础模块
    • logback-classic是log4j的一个改良版本,logback-classic完整实现slf4j api使你可以很方便的更换成其他日志系统如log4j或jul
    • logback-access访问模块与servlet容器集成提供通过http来访问日志的功能

    log4j2已经不仅仅是log4j的一个升级版本了,而是从头到尾被重写的,可以认为这其实是两个完全不同的框架

    jul是java.util.logging包的简称

    日志门面是门面模式的一个典型的应用

    门面模式(Facade Pattern),也称之为外观模式,其核心为:外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用

    日志实现就是对接口的实现

    不建议直接使用日志系统(log4j、logback)中的api,而应依赖使用日志框架slf4j中的api,使用门面模式中的日志框架,有利于维护和各个类的日志处理方式统一

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    private static final Logger logger = LoggerFactory.getLogger(Abc.class);

    比如,一开始项目用的是log4j的实现,后来发现log4j的性能太差了,想换成logback,由于我们代码中都是面向slf4j接口的,这样我们只要吧log4j的依赖换成logback就可以了

    slf4j即java简易日志门面(Simple Logging Facade for Java),目前主要支持jul、log4j、logback等框架,其作者就是log4j和logback的作者,他宣称slf4j比log4j更有效率,比jcl(Apache Commons Logging)简单、稳定,更常用

    log4j提供trace, debug, info, warn, error, fatal六种日志级别,但是slf4j认为error和fatal并没有实质上的区别,所以拿掉了fatal级别,只剩下其他五种,在org.slf4j.event包下的Level枚举类中可以看到

    commons-logging:Apache Commons Logging是一个基于java的日志记录使用程序,用于日志记录和其他工具的编程模型,和slf4j功能类似

  • 相关阅读:
    Qt 之 emit、signals、slot的使用
    qt中的 connect 函数
    进程同步:生产者消费者模型 以及解决方法
    Linux 时间 与 定时器
    Linux 环境编程:errno的基本用法
    Linux 环境编程:dirfd参数 有关解析
    Kubernetes设计理念
    禅道升级
    关闭自动更新
    linux下的特殊模式
  • 原文地址:https://www.cnblogs.com/yanguobin/p/11519344.html
Copyright © 2011-2022 走看看