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方法记录需要的操作信息
java 复制代码
public static final Logger LOGGER = LoggerFactory.getLogger("哪一个类的日志");
java 复制代码
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"】
java 复制代码
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
输出到系统文件的配置标志【记住"FILE"】
java 复制代码
<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分别是打开全部日志信息,及关闭全部日志信息。
java 复制代码
<!--控制输出日志的级别-->
    <root level="ALL">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE" />
    </root>
相关推荐
MengFly_2 小时前
Java广播 —如何利用广播做服务发现
java·网络·服务发现
zqmattack2 小时前
SQL sever根据身份证判断性别函数
java·数据库·sql
oioihoii2 小时前
QT跨平台一次编写,处处编译
开发语言·qt
edisao2 小时前
四。SpaceX、网络化与未来的跨越:低成本、高频次的真正威胁
大数据·开发语言·人工智能·科技·php
Macbethad2 小时前
半导体EFEM设备TwinCAT程序设计方案
java·前端·网络
qq_336313932 小时前
java基础-多线程练习
java·开发语言·算法
wjs20242 小时前
《jEasyUI 树形网格添加分页》
开发语言
我是一只小青蛙8882 小时前
C++核心过渡:类与对象精讲
开发语言·c++
鹿角片ljp2 小时前
Java多线程编程:从基础到实战的完整指南
java·开发语言·后端