栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一、添加maven依赖
        
            org.slf4j
            slf4j-api
            1.7.25
        
        
            ch.qos.logback
            logback-core
            1.1.11
        
        
            ch.qos.logback
            logback-classic
            1.1.11
        
二、logback.xml常用配置详解

常用节点结构图:

1、根节点,包含下面三个属性:

scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。

示例:

 
     
 

2、子节点:负责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。
    
    
        
            ${LOG_PATTERN}
        
    

3、子节点:用来设置某一个包或具体的某一个类的日志打印级别、以及指定。 仅有一个name属性,一个可选的level和一个可选的addtivity属性。

可以包含零个或多个元素,标识这个appender将会添加到这个logger。
    name: 用来指定受此loger约束的某一个包或者具体的某一个类。
    level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。 如果未设置此属性,那么当前loger将会继承上级的级别。
    addtivity: 是否向上级logger传递打印信息。默认是true。可以包含零个或多个元素,标识这个appender将会添加到这个logger。

4、子节点 :用来定义变量值,它有两个属性name和value,通过定义的值会被插入到logger上下文中,可以使“${}”来使用变量。 
    三、日志级别Level

日志记录器(Logger)的行为是分等级的: 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG,优先级高的将被打印出来。(logback通用)
通过定义级别,可以作为应用程序中相应级别的日志信息的开关。
比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。(设置INFO级别,即:>=INFO 生效)
项目上生产环境的时候一定得把debug的日志级别重新调为warn或者更高,避免产生大量日志。

 四、配置logback.xml


    
    
    
    
    
    

    
    
        
            ${LOG_PATTERN}
        
    
    
    
        
        
            
            
            E:.%d{yyyy-MM-dd}.%i
            30
            50MB
        
        
            ${LOG_PATTERN}
        
    

    
    
        
    
    
    
        
    

注意:在项目选择配置文件时优先选择bootstrap.yml,因为bootstrap.yml的加载在application.properties之前,这其中如涉及上下文时系统可能会提示错误。、

这里简单回答一下两者的区别:

      Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。

因此,对比 application 配置文件,bootstrap 配置文件具有以下几个特性。

  • boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载
  • boostrap 里面的属性不能被覆盖

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号