Java之日志框架举例详解

 更新时间:2026年01月28日 10:26:51   作者:Sylvia_feiyu  
Java中的日志框架提供了多种日志记录的解决方案,选择合适的日志框架可以提高程序的性能,增强代码的可读性和可维护性,这篇文章主要介绍了Java之日志框架的相关资料,需要的朋友可以参考下

日志技术

程序中的日志可以用来记录程序运行过程中的信息,并可以进行永久存储。

日志技术具备的优势

  • 可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。
  • 可以随时以开关的形式控制是否记录日志,无需修改源代码。

日志技术体系

日志规范接口【日志的实现框架设计的标准】

  • Commons Logging简称JCL
  • Simple Logging Facade for Java简称SLF4J

Commons Logging->SLF4J->Log4j->Logback(今天比较常用)

Logback日志框架

Logback是基于slf4j的日志规范实现的框架

Logback主要分为三个技术模块:

  • logback-core:logback-core 模块为其他两个模块奠定了基础 ,相当于入口,必须有。【基础模块】
  • logback-classic:它是log4j的一个改良版本,核心功能模块 , 同时它完整实现了slf4j API。
  • logback-access 模块与 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 访问日志功能

Logback的应用

使用java语言开发完成的程序,要给其他人使用,怎么办呢?

  • 把程序打包: xxxx.jar (jar文件是java文件压缩包)

要使用第三方开发好的程序,怎么办?

  • 在自己的项目工程下,导入xxx.jar包

使用Logback的步骤:

  1. 导入Logback所需的相关jar文件,并添加到项目资源库中
    • 在项目工程下新建lib文件夹,把logback需要的jar文件存放到该文件夹下
    • lib目录下的存储的jar文件,添加到当前项目资源库中【选中导入的三个资源右键点击:Add as Library】
  2. 把logback核心配置文件logback.xml【Logback日志框架的核心】,拷贝到当前项目的src目录下
  3. 在类中获取到Logger日志对象,使用日志对象中的API方法记录需要的操作信息
public static final Logger LOGGER = LoggerFactory.getLogger("哪一个类的日志");
import org.slf4j.LoggerFactory;


import org.slf4j.Logger;//注意不要导错包

public class LogbackDemo1 {
    //获取到一个Logger对象(使用日志对象记录相关操作)
    private static final Logger logger = (Logger) LoggerFactory.getLogger("LockbackDemo1类");
    public static void main(String[] args) {
//        System.out.println("进入到main方法执行程序...");
        logger.info("进入到main方法执行程序...");
//        System.out.println("调用show方法执行");
        logger.info("调用show方法执行");
        show();
    }
    public static void show(){
//        System.out.println("show方法开始执行了");
        logger.info("show方法开始执行了");
    }
}
控制台运行结果:
2026-01-17 21:43:39.613 [INFO ]  LockbackDemo1类 [main] : 进入到main方法执行程序...
2026-01-17 21:43:39.615 [INFO ]  LockbackDemo1类 [main] : 调用show方法执行
2026-01-17 21:43:39.615 [INFO ]  LockbackDemo1类 [main] : show方法开始执行了

上面的代码不仅会在控制台上输出

还会在电脑的C盘中自动创建一个文件夹,在文件夹中自动创建一个文本文档记录程序的运行结果如图:

Logback使用细节

Logback日志框架的核心:logback.xml

  • xml文件

Logback日志输出位置、格式设置

  • 通过logback.xml 中的标签可以设置输出位置和日志信息的详细格式。
  • 通常可以设置2个日志输出位置:一个是控制台、一个是系统文件中

输出到控制台的配置标志【记住"CONSOLE"】

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">

输出到系统文件的配置标志【记住"FILE"】

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

如果我们不想让代码输出到控制台或者文件中,我们可以将logback.xml对应的输出代码给注释掉就好了

Logback日志级别(从大到小):

  1. error //错误
  2. warn //警告
  3. info //信息
  4. debug //调试
  5. trace //追踪(例:追踪用户行为轨迹)

作用:用于控制系统中哪些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。

ALL 和 OFF分别是打开全部日志信息,及关闭全部日志信息。

<!--控制输出日志的级别-->
    <root level="ALL">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE" />
    </root>

总结 

到此这篇关于Java之日志框架的文章就介绍到这了,更多相关Java日志框架内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringCloudAlibaba分布式组件详解

    SpringCloudAlibaba分布式组件详解

    这篇文章主要介绍了简单了解Spring Cloud Alibaba分布式组件相关知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-08-08
  • win10 java(jdk安装)环境变量配置和相关问题

    win10 java(jdk安装)环境变量配置和相关问题

    这篇文章主要介绍了win10java(jdk安装)环境变量配置和相关问题解决,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • SpringMVC RESTFul及REST架构风格介绍

    SpringMVC RESTFul及REST架构风格介绍

    这篇文章主要为大家介绍了SpringMVC RESTFul及REST架构风格介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • SpringBoot之logback-spring.xml不生效的解决方法

    SpringBoot之logback-spring.xml不生效的解决方法

    这篇文章主要介绍了SpringBoot之logback-spring.xml不生效的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Spring Cloud GateWay搭建全过程

    Spring Cloud GateWay搭建全过程

    这篇文章主要介绍了Spring Cloud GateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • 解决Eclipse中java文件的图标变成空心J的问题

    解决Eclipse中java文件的图标变成空心J的问题

    这篇文章主要介绍了解决Eclipse中java文件的图标变成空心J的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 线程池的七大核心参数以及常用的四种线程池详解

    线程池的七大核心参数以及常用的四种线程池详解

    这篇文章主要介绍了线程池的七大核心参数以及常用的四种线程池使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Java策略模式取代if else

    Java策略模式取代if else

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法
    2021-10-10
  • java求数组最大值和最小数示例分享

    java求数组最大值和最小数示例分享

    这篇文章主要介绍了java求数组最大值和最小数示例,需要的朋友可以参考下
    2014-03-03
  • Maven配置文件用法及说明(pom.xml和setting.xml)

    Maven配置文件用法及说明(pom.xml和setting.xml)

    Maven设置仓库地址及常用命令,包括pom.xml和conf/settings.xml配置方式,mvn clean、package、install、deploy命令详解,以及profile、mirrors、servers配置说明
    2026-05-05

最新评论