/**
*
* 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

posted on 2019-12-31 10:38  总结造就再进步  阅读(14205)  评论(0编辑  收藏  举报