logback.xml配置详解

Logback的使用 logger.error("日志输出,ERROR日志---{}", output);logger.warn ("日志输出,WARN 日志---{}", output);logger.info ("日志输出,INFO 日志---{}", output);logger.debug("日志输出,DEBUG日志---{}", output);logger.trace("日志输出,TRACE日志---{}", output); 阅读详情
AI摘要

本文详细介绍了Logback的日志级别配置,logback.xml的配置详解,以及如何异步配置日志以优化性能。涵盖根日志级别设置、输出目标、异步记录器应用等内容。

目录

一、日志打印级别配置

二、logback.xml配置详解

三、异步打印日志如何配置 


logback.xml 是 Logback 日志框架的配置文件,它允许你定义日志输出的方式、格式、目标以及日志级别等。

一、日志打印级别配置

在日志框架(如Logback或Log4j)中,你可以配置不同的日志级别来控制哪些日志消息会被记录。日志级别从最低到最高分别是 TRACE、DEBUG、INFO、WARN、ERROR,它们按照递增的顺序表示了日志的重要性和严重程度。

以下是如何在Logback中配置日志级别:

<configuration>

    <!-- 配置根日志级别,控制全局的日志级别 -->
    <root level="INFO">
        <!-- 附加输出目标(appender)的引用,可以有多个 -->
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>

    <!-- 定义控制台输出 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 定义文件输出 -->
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>myapp.log</file>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

</configuration>

在上述配置中,我们通过 <root level="INFO"> 配置了根日志级别为 INFO。这意味着只有级别为 INFO 及更高的日志消息才会被记录,而级别为 DEBUG 或 TRACE 的日志消息将被忽略。

如果需要配置单个日志记录器的级别,你可以使用如下的方式:

<logger name="com.example.MyClass" level="DEBUG">
    <appender-ref ref="CONSOLE" />
</logger>

在上述配置中,我们定义了一个名为 "com.example.MyClass" 的日志记录器,将其级别配置为 DEBUG,并指定了输出目标为 "CONSOLE"。这允许你为特定的类或包配置不同的日志级别。

通过配置不同的日志级别,你可以精确地控制哪些日志消息会被记录,以及在不同的环境(例如开发、测试和生产)中灵活管理日志级别以满足不同需求。

二、logback.xml配置详解

logback.xml 是 Logback 日志框架的配置文件,它允许你定义日志输出的方式、格式、目标以及日志级别等。下面是一个简单的 logback.xml 配置文件,以及各个部分的详细解释:

<configuration>

    <!-- 1. 定义根日志级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

    <!-- 2. 定义输出到控制台的日志格式和目标 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 3. 定义输出到文件的日志格式和目标 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>myapp.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

</configuration>
  1. <configuration> 标签是配置文件的根元素。

  2. <root> 元素定义了根日志级别,它决定了所有日志消息的最低级别,此处设置为 INFO。根日志级别是一个过滤器,低于此级别的日志消息将被忽略。

  3. <appender> 元素定义了不同的日志输出目标。上述配置文件中定义了两个 appender,分别是 STDOUT 和 FILE。每个 appender 都有一个 name 属性和 class 属性。STDOUT 是输出到控制台的 appender,FILE 是输出到文件的 appender。

  4. <encoder> 元素定义了日志消息的格式。在上述配置中,STDOUT 和 FILE 都使用了相同的格式,包括时间戳、线程名、日志级别、日志记录器名称、消息文本等。你可以根据需要自定义日志消息的格式。

  5. rollingPolicy 元素定义了日志文件的滚动策略。在 FILE appender 中,我们使用 TimeBasedRollingPolicy,它会根据时间滚动日志文件。例如,myapp.log 每天会滚动并保存为 myapp.2023-09-25.log,其中时间戳是当前日期。

三、异步打印日志如何配置 

在 Java 中,你可以使用异步日志记录框架来异步打印日志,以提高应用程序性能,特别是在高负载环境下。一种常见的异步日志记录框架是 Logback 和 Log4j2。

在 logback.xml 配置文件中,配置异步日志记录。以下是一个示例配置:

<configuration>
    <!-- 异步日志记录器定义 -->
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="FILE" />
    </appender>

    <!-- 文件输出定义 -->
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>myapp.log</file>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 根日志级别和引用异步日志记录器 -->
    <root level="INFO">
        <appender-ref ref="ASYNC" />
    </root>
</configuration>

在上述配置中,我们定义了一个异步日志记录器 ASYNC,它包装了一个文件输出日志记录器 FILE。根日志级别引用了异步日志记录器 ASYNC。

异步记录日志的具体性能提升取决于系统配置和日志负载。在高负载情况下,异步记录器可以显著减少对应用程序性能的影响。

异步日志记录框架的配置和使用类似于上述示例,但具体的配置和性能调整可能因项目需求而异。在生产环境中,还需要考虑合适的日志级别、滚动策略、日志文件存储位置等因素。

Logback配置文件详解——项目架构 简介 Logback是由log4j创始人设计的一个开源日志组件,并通过了严格充分的测试。它主要是占用空间小,执行效率高,还提供了在其他日志框架中没有的独特而有用的特性。 使用 StringBoot项目默认使用logback组件作为日志管理。在SpringBoot项目中我们不需要额外的添加logback的依赖,因为在spring-boot-starter或者spring-boot-starter-web中已经包含了logback的依赖 Logback读取配置文件的步骤: 在class... 阅读详情

相关推荐

logback配置xml日志文件(保姆级教程)

前言 这是个啥,这就是个控制日志输出格式、控制日志输出位置、控制日志输出环境、控制日志输出级别的玩意、控制忽略输出的日志就这些功能,没有什么很复杂的东西,废话不说多了。 配置介绍 configuration <configuration scan="true" scanPeriod="10 seconds"> scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是

程序员劝退师的博客 1428

Logback配置详解——appender

logback 常用配置详解(二)<appender> <appender>标签: <appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 1.Console...

微信公众号:一颗向上的草莓 2640

SLF4J 配置文件详解:logback.xml 最佳实践

本文旨在为Java开发者提供一份全面的Logback配置指南,涵盖从基础到高级的各种配置场景,帮助开发者构建高效、灵活的日志系统。核心概念与联系:介绍SLF4J和Logback的基本原理配置文件详解:深入解析logback.xml的各个配置项最佳实践:分享实际项目中的配置经验高级技巧:探讨性能优化和特殊场景处理实战案例:提供可直接使用的配置示例SLF4J:简单日志门面(Simple Logging Facade for Java),日志系统的抽象层Logback。

AI开发架构师 1328

Logback.xml 配置详解

为特定包或类定义 logger。</logger>定义全局的 root logger。</root>通过配置文件,我们可以灵活地控制日志的输出格式、日志级别、日志的输出目标等。Logback 提供了丰富的配置选项,包括控制台输出、文件输出、日志文件滚动、异步日志、日志过滤器等。合理配置日志,可以显著提高应用程序的可维护性和调试效率。希望本文能帮助你更好地理解和配置,为你的 Java 项目提供有力的日志支持。

My_wife_QBL的博客 1万+

ImageNet分类实战:用PyTorch复现AlexNet的5个关键技巧(附代码)

本文详细介绍了使用PyTorch复现经典AlexNet模型进行ImageNet图像分类的五个关键工程技巧。内容涵盖模型架构的现代重构、训练策略优化、核心组件实现与替代方案,以及实用的训练调试方法,并提供了完整的代码示例,帮助开发者深入理解深度卷积神经网络的实现细节与优化思路。

i0j1k2l3m的博客 94

stm32f103c8t6的中文字库

stm32的成熟中文字库,上手即用,操作简单

nbbskk的博客 3653

logback配置文件---logback.xml详解

一、添加maven依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency&gt

AllenLuoYi的博客 1万+

告别PlatformIO!用Arduino IDE搞定ESP32上的micro-ROS 2.0.5(Humble版)

本文详细介绍了如何从PlatformIO迁移到Arduino IDE以支持ESP32上的micro-ROS 2.0.5(Humble版)。内容涵盖环境配置、项目转换、常见问题解决及高级优化技巧,帮助开发者顺利过渡并充分利用Arduino IDE的官方支持优势。

weixin_33709590的博客 378

logback-spring.xml配置文件标签(超详解)

1、SpringBoot日志框架 市面上的日志框架; JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j… 日志门面 (日志的抽象层) 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-logging Log4j JUL(java.util.logging) Log4j2 Logback SpringBoot选用

皮卡丘的情绪 2万+

告别游戏卡关!用Cheat Engine 7.5修改单机游戏数据的保姆级教程(附Tutorial靶场练习)

本文提供了一份详细的Cheat Engine 7.5使用教程,帮助玩家轻松修改单机游戏数据。从基础操作到高级技巧,包括精确值扫描、模糊扫描、指针扫描和代码注入,教程还涵盖了《植物大战僵尸》和《星露谷物语》的实战案例,确保玩家能够安全、高效地优化游戏体验。

weixin_30082367的博客 785

黑猫带你学eMMC协议第14篇:eMMC FFU详解(Field Firmware Update)

1 前言 1.1 声明 本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、ffu相关寄存器有哪些? 2、如何设置ffu? 3、什么是ffu?是否能够更新旧版本的固件到emmc? 4、ffu配置流程图。 2 什么是FFU 主机下载新的固件到eMMC,下载成功后eMMC将固件安装到设备。 3 相关寄存器/命令 SUPPORTED_MODES [493] FFU_FEATURES [492] 该

黑猫奥利奥的博客 4660

logback.xml 配置详解

配置查询1: <?xml version="1.0"encoding="utf-8"?> <!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL --> <!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 --> <!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过...

fygkchina的专栏 649

YOLOv11模型剪枝实战:让检测速度翻倍,精度仅降1%的终极优化教程

模型剪枝是YOLOv11落地边缘场景的“关键一步”——它让模型在“瘦身”的同时,几乎不损失精度。从稀疏化训练到通道剪枝,再到工程部署,本教程已为你打通全流程。现在就动手尝试,让你的YOLOv11模型在嵌入式设备、移动端上也能“飞起来”——相信我,当你看到剪枝后的模型在资源受限设备上仍能精准检测时,你会明白这份技术的价值。

m0_64661770的博客 711

浅谈如何配置logback.xml

Logback 提供了更高的性能、更小的内存占用以及更灵活的配置选项。通过配置 logback.xml 文件,我们可以灵活地控制日志的输出格式、日志级别、日志的输出目标等。本文将详细介绍如何配置 logback.xml 文件

u011203602的专栏 1936

史上最牛逼的导航网站(很全很详细)

今天,给大家推荐47个聚合型的导航网站 每一个都收录上百个网站,1个能顶100个,丝毫没有夸张的成分。 (推荐收藏) 设计师导航网站 01 优设导航 https://hao.uisdc.com/ 设计师必备的导航网站,包含设计工具、素材资源、字体设计、配色方案、酷站模板等。 界面清晰无广告,收录网站超过520个。 02 设计导航 http://h...

孙叫兽的博客 7万+

毕设加分项!手把手教你完成基于YOLOv8与PyQt5的多类别目标检测系统——让你的毕设从“完成”到“出色”

从KITTI数据集处理,到YOLOv8模型训练,再到PyQt5界面开发,整个流程其实没有想象中那么难。只要你跟着步骤一步步来,不仅能顺利完成毕设,还能掌握目标检测和GUI开发的核心技能——这些技能在未来的求职、读研中都非常实用。如果过程中遇到问题,别担心!可以去YOLOv8的官方文档、PyQt5论坛找答案,也可以和同学、老师交流。记住,完成毕设的过程也是你技术成长的过程,坚持下去,你会为自己的成果感到自豪。

m0_71589036的博客 179

logback.xml配置文件详解

logback.xml配置文件详解该文章主要内容1、maven依赖2 常用节点结构图2.1 根节点`configuration`2.2 子节点`contextName`2.3 子节点`property`2.4 子节点`appender`2.5 子节点`logger`2.6 子节点`root`3 配置使用案例 该文章主要内容 1、maven依赖 <dependency> <groupId>ch.qos.logback</groupId> <artifactId&g

Master_Shifu_的博客 4230

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

日志配置logback.xml详解

一、日志门面和日志框架 1.1 概念 常用日志框架:log4j、logback 常用日志门面:Slf4j 目前Spring-boot主流使用: slf4j + logback 日志框架出现时间顺序: log4j -->JUL–>JCL–> slf4j --> logback --> log4j2 1.2 日志门面和日志框架依赖 目前Spring-boot主流使用: slf4j + logback。所以下面说的是 slf4j 和 logback依赖引入。 日志门面:依赖集成

TAaron666的博客 2744

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SpringBoot项目中日志控制,配置logback(logback.xml的配置及介绍)

SpringBoot项目中对日志的处理手动控制,这是我整理的logback.xml文件内容,直接复制copy使用即可,里面有详细的注释使用,如果是单模块,就在java同层级的resoures目录下(存放application.yml那个目录下)新建一个logback.xml,重启服务即可生效。SpringBoot项目配置logback理论上需要添加logback-classic依赖jar包: 但是因为SpringBoot项目默认就是使用的就是logback日志系统

虽千万人,吾往矣 5126

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

logback.xml通用常用配置详解

logback.xml通用常用配置详解

weixin_44188105的博客 2809

logback-spring.xml配置详解

logback配置,logback-spring.xml,springboot日志配置

山羊夫子的博客 1万+

Springboot logback.xml配置详解

主要对logback.xml 常用配置的作用介绍, 通过logback 的相关源码对additivity参数有了更深的认识. additivity 默认值为true, 如果不希望在某些场景下打印重复的日志, 可以设置为false, additivity 配置不受level配置的影响.代码没有关于日志级别的控制. 所以以后如果只希望打印日志到子节点的appeder, 父节点的appender忽略, 就设置additivity = false, 默认值为true, 这样日志就不会重复了.

恒二哥的博客 1520

【Java】logback.xml文件配置

logback日志的使用。logback.xml的配置文件讲解

Syals的博客 5640

logback.xml 配置文件详解

<?xml version="1.0" encoding="UTF-8"?> <!-- 日志级别 --> <!-- TRACE < DEBUG < INFO < WARN < ERROR --> <!-- 根节点<configuration>,包含下面三个属性: --> <!-- scan: 当此属性设置...

Ooo0oops 1506
上一篇: 一篇文章教你学会SpringBatch使用分区读取数据库
下一篇: 数据库报1205-Lock wait timeout exceeded; try restarting transaction解决方案
境里婆娑
境里婆娑 新星创作者: Java技术领域 新星创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄10年 1万+粉丝 300原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

境里婆娑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值