Kite的学习历程之SpringBoot中日志

Kite学习框架的第十六天

1. 日志

1.1 日志框架

SpringBoot使用的是
日志门面: SLF4J;
日志实现:Logback;
SpringBoot:底层是Spring框架,Spring框架默认是用JCL;

1.2 日志的使用

1.2.1 默认设置

SpringBoot其实已经默认的帮我们配置好了日志
我们可以在测试类获取一个日志记录器,添加一些数据

package cn.kitey.spring_logging;


import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class Demo03SpringLoggingApplicationTests {

    //获取日志记录器
    Logger logger = LoggerFactory.getLogger(getClass());
    @Test
    public void contextLoads() {

        //日志级别:由低到高:trace < debug < info < warn > error
        //优点:可以调整输出的日志级别;日志只有在这个级别之上的才可以生效
        logger.trace("这时trace日志。。。");
        logger.debug("这时debug日志。。。");
        //springBoot默认输出的时info之后(包括info)
        logger.info("这时info日志。。。"); //自己定义的信息
        logger.warn("这时warn日志。。。");
        logger.error("这时error日志。。。");
    }

}


日志的输出格式为

%d:表示日期时间,
%thread:表示线程名,
%-5level:级别从左显示5个字符宽度
%logger{50} 表示logger名字最长50个字符,否则按照句点分割。
%msg:日志消息,
%n:是换行符

  %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

SpringBoot修改日志的默认设置

# 设日志的级别
logging.level.cn.kitey=trace
# 指定日志文件的生成路径
#logging.file=D:/java/SpringBoot/logging/springboot.log

#在当的文件下使用默认的文件名
#logging.path=D:/java/SpringBoot/logging

## 在控制台指定日志的输出格式
#logging.pattern.console=%logger{50} - %msg%n
#
## 指定文件中日志输出的格式
#logging.pattern.file=%d{yyyy-MM-dd} %n

# 指定开发环境
spring.profiles.active=dev

1.3 指定日志配置

给类路径下放上每个日志框架自己的配置文件即可;SpringBoot就不使用他默认配置的了
配置的指定命名方式
Logback:logback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
Log4j2:log4j2-spring.xml or log4j2.xml
对于SpringBoot的默认框架修改配置文件:
logback.xml:直接就被日志框架识别了;
logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能


<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
  	可以指定某段配置只在某个环境下生效
</springProfile>

这时我们应该指定开发的环境:


 指定开发环境
spring.profiles.active=dev

你可能感兴趣的:(每天的学习笔记)