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