转自:https://blog.csdn.net/qq_36850813/article/details/83092051
官方文档参考:https://logback.qos.ch/manual/appenders.html
logback 简介
Ceki Gülcü在Java日志领域世界知名。他创造了Log4J ,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行。随后他又着手实现SLF4J 这个“简单的日志前端接口(Façade)”来替代Jakarta Commons-Logging 。
LOGBack,一个“可靠、通用、快速而又灵活的Java日志框架”。
在工程src目录下建立logback.xml
注:
1.logback首先会试着查找logback.groovy文件;
2.当没有找到时,继续试着查找logback-test.xml文件;
3.当没有找到时,继续试着查找logback.xml文件;
4.如果仍然没有找到,则使用默认配置(打印到控制台)。
自定义日志配置
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:
Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
Log4j2:log4j2-spring.xml, log4j2.xml
JDK (Java Util Logging):logging.properties
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项。
默认的命名规则,并且放在 src/main/resources 下面即可
如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字:
logging.config=classpath:logging-config.xml
虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。
一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件。
Example:
1 package logback; 2 3 import org.slf4j.Logger; 4 import org.slf4j.LoggerFactory; 5 6 public class LogbackDemo { 7 private static Logger log = LoggerFactory.getLogger(LogbackDemo.class); 8 public static void main(String[] args) { 9 log.trace("======trace"); 10 log.debug("======debug"); 11 log.info("======info"); 12 log.warn("======warn"); 13 log.error("======error"); 14 15 String name = "Aub"; 16 String message = "3Q"; 17 String[] fruits = { "apple", "banana" }; 18 19 // logback提供的可以使用变量的打印方式,结果为"Hello,Aub!" 20 log.info("Hello,{}!", name); 21 22 // 可以有多个参数,结果为“Hello,Aub! 3Q!” 23 log.info("Hello,{}! {}!", name, message); 24 25 // 可以传入一个数组,结果为"Fruit: apple,banana" 26 log.info("Fruit: {},{}", fruits); 27 } 28 }