logback是有log4j 创始人设计的又一个开源日志框架
logback 当前分为三个模块:logbakc-core,logback-classic 和 logback-access
maven:
org.slf4j
slf4j-api
1.7.7
ch.qos.logback
logback-core
1.1.7
ch.qos.logback
logback-access
1.1.7
ch.qos.logback
logback-classic
1.1.7
logback, 一个“通用,可靠,快速又灵活的Java日志框架”
在src目录下建立logback.xml
logback查找顺序:
根据不同的日志系统,可以按照如下规则组织配置文件名,就可以被正确加载:
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 指定不同环境使用不同配置文件。
上代码:
package logback;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogbackDemo {
private static Logger log = LoggerFactory.getLogger(LogbackDemo.class);
public static void main(String[] args) {
log.trace("======trace");
log.debug("======debug");
log.info("======info");
log.warn("======warn");
log.error("======error");
String name = "Aub";
String message = "3Q";
String[] fruits = { "apple", "banana" };
// logback提供的可以使用变量的打印方式,结果为"Hello,Aub!"
log.info("Hello,{}!", name);
// 可以有多个参数,结果为“Hello,Aub! 3Q!”
log.info("Hello,{}! {}!", name, message);
// 可以传入一个数组,结果为"Fruit: apple,banana"
log.info("Fruit: {},{}", fruits);
}
}