日志架构详解

本文详细介绍了日志架构,包括Logger、Appender和Layouts的职责,以及过滤器Filters的概念。日志级别通常包括Fatal、Error、Warn、Info和Debug。文章还探讨了日志框架之间的联系,如slf4j和commons-logging作为日志门面,以及它们如何绑定到具体的日志实现,如log4j和logback。
摘要由CSDN通过智能技术生成

日志

1. 日志架构

日志一般构建在三个主要的类分为Logger、Appender、Layouts,再加一个过滤器Filters

三者之间的关系:

img

  • Logger (日志记录器)

    被称为记录器,应用程序通过获取Logger对象,调用其API来来发布日志信息。Logger 通常时应用程序访问日志系统的入口程序。

    Logger可以通过一下两个方法获取,

    //JUL为例
    //直接获取日志记录器
    Logger logger = Logger.getLogger(String.valueOf(getClass()));
    //根据日志记录器工厂获取Logger
    Logger logger = LoggerFactory.getLogger(getClass());

  • Appender (日志输出目的地)

    也被称为 Handlers (处理器),每个Logger都会关联一组Handlers,Logger会将日志交给关联 Handlers处理,由Handlers负责将日志做记录。Handlers在此是一个抽象,其具体的实现决定了 日志记录的位置可以是控制台、文件、网络上的其他日志服务或操作系统日志等。

    Appender的类别有:Console(控制台)、File(文件)、JDBC(数据库)、JMS等等。

    //JUL为例
    //关闭系统默认配置
    logger.setUseParentHandlers(false);
    ​
    //把日志输出到控制台
    // a. 创建handler处理对象
    ConsoleHandler consoleHandler = new ConsoleHandler();
    // b. 设置日志输出位置
    logger.addHandler(consoleHandler);
    ​
    ​
    //把日志输出到文件
    // a. 创建handler对象
    FileHandler fileHandler = new FileHandler("D:\\test.log");
    // b. 设置日志输出位置
    logger.addHandler(fileHandler);
    ​
    // e. 设置日志级别
    logger.setLevel(Level.ALL);
    consoleHandler.setLevel(Level.ALL);

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值