当前位置: 首页 > article >正文

Logback 常用配置详解

1. 配置文件解析

Logback 是 Spring Boot 默认使用的日志框架,Logback 配置主要包含 8 大元素

1.1 configuration

Logback 配置文件的根元素,它包含所有的配置信息

1.2 appender

定义一个 Appender,即日志输出的目的地,如控制器或文件

该元素有一个必须的 name 属性,和一个 class 属性,指定 Appender 的实现类

1.3 encoder

定义日志输出格式,它包含在 Appender 元素中,可以使用 pattern 属性定义输出格式,也可以使用 layout 子元素指定一个 Layout 类

1.4 logger

定义一个 Logger,它有一个 name 属性,表示 Logger 的名称,也可以使用通配符匹配多个 Logger

1.5 root

定义根 Logger,通常用于设置默认的日志级别和输出目的地

1.6 level

定义日志级别,可以包含在 Logger 或 Appender 元素中

Logback 定义了七个日志级别,按照从低到高的顺序,分别是 TRACE、DEBUG、INFO、WARN、ERROR、FATAL、OFF

1.7 filter

定义一个过滤器,可以用来过滤日志信息,可以包含在 Logger 或 Appender 元素中

1.8 rollingPolicy 和 triggeringPolicy

定义 Appender 的滚动策略和触发策略

  • 滚动策略:指定何时创建新的日志文件
  • 触发策略:指定何时触发滚动策略

2. 示例

这个配置文件定义了两个 Appender:一个输出到控制台,另一个输出到日志文件。

日志文件使用了时间滚动和文件大小限制策略,同时也定义了一个 Logger 和根 Logger 的输出目的地和日志级别。

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
    <contextName>logback</contextName>

    <!-- 定义日志变量-->
    <property name="log.path" value="D:\\logback.log" />

    <!--日志输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>DEBUG</level>
        </filter>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <!-- 日志输出到文件 -->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
        </rollingPolicy>

        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
        </encoder>
    </appender>

    <!-- 根日志输出级别-->
    <root level="debug">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>

    <!-- 指定包日志输出级别-->
    <logger name="com.binge" level="debug" />

</configuration>


http://www.kler.cn/a/378307.html

相关文章:

  • C#:强大而优雅的编程语言
  • 【数据分享】1901-2023年我国省市县镇四级的逐年最高气温数据(免费获取/Shp/Excel格式)
  • 鸿蒙HarmonyOS开发:给应用添加基础类型通知和进度条类型通知(API 12)
  • Vehicle OS软件平台解决方案
  • 学习虚幻C++开发日志——定时器
  • 如何对LabVIEW软件进行性能评估?
  • 第十九章 Vue组件之data函数
  • Python Matplotlib 如何处理大数据集的绘制,提高绘图效率
  • lc 73 矩阵置0 ACM模式
  • webpack5
  • 【RK3588 Linux 5.x 内核编程】-设备驱动中的sysfs
  • 【架构艺术】服务架构稳定性的基础保障
  • 嵌入式开发之刷新流
  • SAO-LSSVM分类预测 | SAO-LSSVM雪消融算法优化最小二乘支持向量机多特征分类预测
  • JavaScript 进阶 - 第4天 (黑马笔记)
  • [JAVAEE] 面试题(二) - CAS 和 原子类
  • Java项目实战II基于Spring Boot的秒杀系统设计与实现(开发文档+数据库+源码)
  • 使用Markdown编写适用于GitHub的README.md文件的目录结构
  • css-flex布局属性
  • Python爬虫:揭开店铺详情的神秘面纱
  • 【Jenkins】 上传docker包并推送到远程仓库
  • 构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南
  • 独立开发的个人品牌打造:个人IP与独立开发的结合
  • 如何将epub转换成word?
  • HTML 基础标签——表单标签<form>
  • C语言中的野指针以及避免野指针的常用方式