SpringBoot--日志

1、日志框架

  SpringBoot默认

​      日志的抽象层: SLF4j

​      日志实现: Logback

2、SLF4j使用

  日志记录方法的调用日志抽象层里面的方法,给系统里面导入slf4j的jar和 logback的实现jar

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}

3、SpringBoot日志关系:

 ​ (1) SpringBoot底层也是使用slf4j+logback的方式进行日志记录

​  (2) SpringBoot也把其他的日志都替换成了slf4j

​  (3) SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可

4、日志使用;

 4.1 默认配置

	//记录器
	Logger logger = LoggerFactory.getLogger(getClass());
	@Test
	public void contextLoads() {
		/*日志的级别:(由低到高)trace<debug<info<warn<error*/
		logger.trace("trace日志...");
		logger.debug("debug日志...");
		/*默认是info级别的,没有指定级别的就用默认规定的级别,root级别*/
		logger.info("info日志...");
		logger.warn("warn日志...");
		logger.error("error日志...");
	}

  日志输出格式

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

  修改日志的默认配置

logging.level.com.atguigu=trace

# 不指定路径在当前项目下生成springboot.log日志
#logging.path=""

# 可以指定完整的路径
#logging.file=G:/springboot.log

# 在当前磁盘的根路径下创建spring文件夹和里面的log文件夹,使用 spring.log 作为默认文件
logging.path=/spring/log

logging.file logging.path Example Description
(none) (none) 只在控制台输出
指定文件名 (none) my.log 输出日志到my.log文件
(none) 指定目录 /var/log 输出到指定目录的 spring.log 文件中

 4.2 指定配置

  给类路径下放上每个日志框架自己的配置文件即可;

Logging System Customization
Logback logback-spring.xml, logback-spring.groovy, logback.xml ,logback.groovy
Log4j2 log4j2-spring.xml ,log4j2.xml
JDK logging.properties

 logback.xml:直接就被日志框架识别了;

扫描二维码关注公众号,回复: 8676486 查看本文章

logback-spring.xml:由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能

5、切换日志框架

  切换log4j2

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-logging</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
        </dependency>

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

发布了121 篇原创文章 · 获赞 45 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41596568/article/details/102822507