Java日志系统的总结

作者: 问题_解决_分享_讨论_最优 | 来源:发表于2019-12-19 09:52 被阅读0次

日志系统归类以及关系

常用的日志框架: slf4j、logback 、log4j、log4j2、JUL(java util logging)、jboss-logging、JCL(jakarta common logging)

log4j: 最开始的一个日志系统。

JUL: jdk自带的日志系统

jboss-logging: jboss公司的日志系统

JCL: apache 开源的日志框架

slf4j: 基于门面模式的一个对日志框架进行抽象的接口(类似于JDBC驱动)

logback: 是基于slf4j接口进行实现的一个具体的日志系统

log4j2: 同样是基于slf4j接口实现的一个具体日志系统,该系统使用了disruptor库,在异步的情况下,性能提高很多

日志的三个组件

Logger

一个日志系统可以有多个Logger,可以根据自己的情况配置,一个logger可以有多个appender

Appender

代表的是日志的输出目的地。可以输出到Console, File, JDBC, JMS ,Kafka ,NOSQL, Socket等。 它可以分为异步Appender 和非异步Appender

Layout

Layout:作用为控制输出流的格式。可以为Parttern格式,JSON格式,HTML格式,CSV格式,XML格式等。

<PatternLayout >

<Charset>UTF-8</Charset>

<!-- 时间 类型 线程 文件位置 具体的日志消息 换行-->

<Pattern>%d %p %c{1.} [%t] %F %m %n</Pattern>

</PatternLayout>

slf4j的使用

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class LoggerTest{

       private static final Logger LOG = LoggerFactory.getLogger(LoggerTest.class);

        public void test(){

                  //日志级别从低到高:

             //trace < debug < info < warn < errorLOG.trace(" trace log"); 

                    LOG.debug(" debug log");   

                        LOG.info(" info log");   

                      LOG.warn(" warn log");   

                      LOG.error(" error log"); 

  }

}

项目中构建日志系统

使用slfj4抽象接口来编程,这样不用关系底层的实现是什么,只需要最后配置需要的种类即可。

注意:在构建项目的时候,通常会使用第三方的框架,但是多个第三方框架可能会使用不同的日志系统,为了统一日志,可以使用如下步骤.

统一日志框架步骤:

将第三方框架中的日志系统排除掉

<dependency>

              <groupId>org.springframework</groupId>

               <artifactId>spring-core</artifactId>

                        <exclusions>

                              <exclusion>

                                   <groupId>commons-logging</groupId>

                                  <artifactId>commons-logging</artifactId>

                               </exclusion>

                          </exclusions>

</dependency>

用中间适配包来替换原来的日志框架

导入我们需要的slf4j实现


打个广告,本人博客地址是:风吟个人博客

相关文章

  • Java日志系统的总结

    日志系统归类以及关系 常用的日志框架: slf4j、logback 、log4j、log4j2、JUL(java ...

  • Java学习总结之Java IO系统(二)

    本文接着Java学习总结之Java IO系统(一),我们继续总结Java IO系统的相关知识。 字符流(Write...

  • Netty源码分析-08 Netty的日志

    8.1 Java的日志系统 java领域存在多种日志框架,目前常用的日志框架包括Log4j,Log4j 2,Com...

  • Java日志概述

    今天看到了一篇对Java日志系统讲解很不错的文章,所以做个学习记录,如有侵权请联系删除 概述 Java的日志系统非...

  • logback、log4j、slf4j三者区别

    1、整体介绍 slf4j(Simple logging Facade for Java) 简单日志门面,日志系统的...

  • Java 日志系统

    Java 日志系统 1. 创建日志记录器 2. 打印日志信息 3. 日志的级别 由高到底: 可以调整输出日志的级别...

  • Java日志体系(commons-logging)

    Java日志系统学习 作为一名Java开发者,日志是我们工作中经常接触到的一项技术。对于Web应用而言,日志的重要...

  • JAVA日志系统

    JAVA日志系统的演变史 我们先看一个故事。项目经理A带着一帮兄弟开发了一套复杂的企业ERP系统,这个系统一连开发...

  • Java 日志系统

    概述 日志是有名字的对象 日志系统是有继承体系的 => a.b.c.d 是 a.b.c 的孩子,也是 a.b 的孩...

  • Java 日志框架解析:设计模式、性能

    [TOC] Java 日志框架解析:设计模式、性能 在平常的系统开发中,日志起到了重要的作用,日志写得好对于线上问...

网友评论

    本文标题:Java日志系统的总结

    本文链接:https://www.haomeiwen.com/subject/ptxmnctx.html