最实用的logback讲解(1)

本文详细介绍了logback的配置,包括pom依赖、logback.xml的加载顺序,以及configuration属性如scan、scanPeriod等。重点解析了logger和root的使用,特别是addtivity属性,它决定了日志信息是否向上级logger传递。通过实例展示了不同addtivity配置下的日志打印行为,强调了additivity设为false在避免重复打印和控制日志流向中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


logback,一个“可靠、通用、快速而又灵活的Java日志框架”,是springboot默认的日志框架。

1. pom依赖和logback.xml

  1. pom依赖
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
<!--
引入以上依赖,会自动引入以下jar
	logback-classic.x.x.x.jar
	logback-core.x.x.x.jar
	slf4j-api-x.x.x.jar
-->

注意spring-boot-starter-parent里已集成logback,可直接使用。

  1. logback.xml

在工程resources目录下建立logback.xml

1.logback首先会试着查找logback.groovy文件;

2.当没有找到时,继续试着查找logback-test.xml文件;

3.当没有找到时,继续试着查找logback.xml文件;

4.如果仍然没有找到,则使用默认配置(打印到控制台)。

2. configuration属性介绍

<?xml version="1.0" encoding="UTF-8"?>

<configuration scan="true" scanPeriod="60 seconds" debug="false" packagingData="true">

	<!-- 用来设置上下文名称,每个logger都关联到logger上下文,默认上下文名称为default。但可以使用<contextName>设置成其他名字,
	用于区分不同应用程序的记录。一旦设置,不能修改。-->
    <contextName>myApplicationName</contextName>


	<!--用来定义变量值,它有两个属性name和value,通过<property>定义的值会被插入到logger上下文中,可以使用“${}”来使用变量。
	name: 变量的名称,value: 的值时变量定义的值-->
    <property name="LOG_HOME" value="${catalina.base}/logs/cloudTest/" />
    
    
	<!--获取时间戳字符串,他有两个属性key和datePattern     key: 标识此<timestamp> 的名字;datePattern: 设置将当前时间(解析配置
	文件的时间)转换为字符串的模式,遵循	java.txt.SimpleDateFormat的格式。这个属性很少使用	-->
    <timestamp key="keyValue" datePattern="yyyy-MM-dd" />    
    <contextName>${keyValue}</contextName>

	<!--其他配置略-->
</configuration>
  • configuration

    scan 属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
    scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
    debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
    packagingData:Logback可以包括它输出的堆栈跟踪行的每一行的打包数据。打包数据由JAR文件的名称和版本组成,堆栈跟踪行的类就是在JAR文件中创建的。默认为false

  • contextName

  • property
    可以定义一些变量,常用于定义日志文件输出位置。

  • timestamp

3. logger和root属性的使用

logger 是configuration的子节点,用来设置某一个包或者具体的某一个类的日志打印级别、以及指定appender。logger仅有一个name属性

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值