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