• logback关闭日志



    /**
    *
    * springboot 可以控制关闭日志输出,也可以指定某个包或类关闭日志输出
    *
    * 可以通过在application.yml或application.properties(根据自己选择使用)中控制日志的输出级别、是否输出
    *
    * 一、控制日志级别
    *
    * logging:
    * level:
    * root: warn
    *
    * 二、整体关闭日志
    *
    * logging:
    * level:
    * root: warn
    *
    * 三、关闭指定包日志输出
    *
    */



    -------------------------------代码1:关闭日志输出----------------------------
    application.yml
    logging:
    level:
    root: off


    ----------controller
    @RequestMapping("/test1")
    @ResponseBody
    public String testLog(){

    //增加用于表示有请求进来
    System.out.println("进入日志请求controller");

    logger.error("error 日志");

    logger.info("info 日志");

    logger.debug("debug 日志");

    logger.trace("trace 日志");

    logger.warn("warn 日志");

    return "test1 请求成功";
    }

    日志关闭后其中项目,发现控制台只打印出了几行代码

    Connected to the target VM, address: '127.0.0.1:55652', transport: 'socket'

    
    

      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _
    ( ( )\___ | '_ | '_| | '_ / _` |
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.0.4.RELEASE)

    这是其他代码都是使用logger.info打印的,日志关闭后自然就不再打印

    然后发起请求,发现控制台只有一个 System.out.println 输出

    进入日志请求controller

    说明日志确实已经关闭输出

    -----------------代码2:关闭部分模块日志输出------------------
    applcation.yml配置
    logging:
    level:
    net.jy.redis.controller.logback: off
    指定具体包路径关闭

    启动项目可以发现控制台打印出启动日志。
    (1),访问 net.jy.redis.controller.logback 包下的请求,发现控制台日志并未打印出log日志。说明关闭生效
    (2),访问其他包路径下文件,控制台打印出
    error 日志
    info 日志
    warn 日志
    证明关闭指定模块日志输出配置生效

    ----------------------代码三:控制日志级别-------------------------------

    applicaton.yml
    logging:
    level:
    net.jy.redis.controller.logback: off
    root: warn
    设置其他包日志界别warn。
    java代码:
    @RequestMapping("/log1")
    @ResponseBody
    public String testLog(){

    //增加用于表示有请求进来
    System.out.println("进入日志请求controller");

    logger.error("error 日志");

    logger.info("info 日志");

    logger.debug("debug 日志");

    logger.trace("trace 日志");

    logger.warn("warn 日志");

    return "Log1 test1 请求成功";
    }
    访问:

    控制台输出:
    进入日志请求controller
    2019-12-28 10:37:56.048 ERROR 1244 --- [nio-9201-exec-2] net.jy.redis.controller.testlog.Log1     : error 日志
    2019-12-28 10:37:56.048  WARN 1244 --- [nio-9201-exec-2] net.jy.redis.controller.testlog.Log1     : warn 日志
    发现只打印了error、warn日志。说明配置生效




    注意:
    org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'logging.level' to java.util.Map<java.lang.String, java.lang.String>
    若出现以上错误,请检查application配置文件
    错误写法:
    logging:
    level: off

    正确写法:
    logging:
    level:
    net.jy.redis.controller.logback: off
    root: warn

    操作日志级别需要指定包路径,全局控制则使用root

  • 相关阅读:
    MySQL中B+树索引的使用
    MySQL测试环境遇到 mmap(xxx bytes) failed; errno 12解决方法
    MySQL中Cardinality值的介绍
    MySQL Online DDL
    像编程一样写文章—Markdown
    并发模型—共享内存模型(线程与锁)示例篇
    并发模型之——共享内存模型(线程与锁)理论篇
    并发模型之——基本概念
    通讯协议之——字节序
    IntelliJ IDEA14.1中java项目Maven中没有配置JDK时的问题
  • 原文地址:https://www.cnblogs.com/jybky/p/12107074.html
Copyright © 2020-2023  润新知