SpringBoot支持日志框架:Java Util Logging, Log4J2 and Logback,默认是使用logback
logback配置方式:默认配置文件配置和引用外部配置文件配置
SpringBoot默认使用logback,所以不用引入依赖直接使用:
一:默认配置文件配置(不建议使用:不够灵活,对log4j2等不够友好)
# 日志文件名,比如:wsj.log,或者是 /log/wsj.log
logging.file=wsj.log
# 日志级别配置,比如: logging.level.org.springframework=DEBUG
logging.level.*=info
logging.level.org.springframework=DEBUG
二:引用外部配置文件(本文使用配置文件形式)
- logback配置方式:
spring boot默认会加载classpath:logback-spring.xml或者classpath:logback-spring.groovy
使用自定义配置文件,配置方式为:
logging.config=classpath:logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>.%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n
</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>wsj/logs/boot-server.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>.%d{HH:mm:ss.SSS} [%thread] [user="%X{user}" token="%X{token}"] %-5level %logger{36} - %msg %n
</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<logger name="com.wsj" level="INFO" />
<root>
<level value="INFO" />
<appender-ref ref="fileAppender" />
<appender-ref ref="consoleAppender" />
</root>
</configuration>
之后直接代码加载logback是结合slf4j使用的。所以导入是slf4j。
package com.wsj.springbootdemo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 项目名称:IndexController;
* 类 名 称:IndexController;
* 类 描 述:TODO ;
* 创 建 人:Angus;
* 创建时间:2020/2/15 16:41;
*
* @version:0.1;
**/
@RestController
@RequestMapping("/wsj")
public class IndexController {
Logger logger = LoggerFactory.getLogger(IndexController.class);
@RequestMapping("/index")
public String index(){
logger.info("哈哈哈哈哈");
return "hello word";
}
}
然后就会生成对应的log文件和控制台打印出日志:
好了。logback使用就到这里。。具体的logback参数使用可以查询资料。