spring boot 学习四

日志

控制台日志输出

默认日志消息将打印到控制台窗口。 默认情况下,INFOERRORWARN日志消息将打印在日志文件中。 

如果必须启用调试级别日志,可以将调试模式添加到application.properties 文件中,如下所示 -

debug = true

文件日志输出

默认情况下,所有日志都将在控制台窗口中打印,而不是在文件中打印。 如果要在文件中打印日志,则需要在application.properties 文件中设置属性logging.filelogging.path
可以使用下面显示的属性指定日志文件路径。 请注意,日志文件名是spring.log。 //更多请阅读:https://www.yiibai.com/spring-boot/spring_boot_logging.html

logging.file.path=/var/tmp/

使用下面显示的属性指定自己的日志文件名 -

logging.file.name = /var/tmp/mylog.log

注意 - 文件将在达到10MB后自动旋转生成。

日志级别

Spring Boot支持所有记录器级别,例如:TRACEDEBUGINFOWARNERRORFATALOFF。在application.properties 文件中定义Root logger,如下所示 -

logging.level.root = WARN

注 - Logback不支持“FATAL”级别日志。 它映射到“ERROR”级别日志。

配置Logback

Logback支持基于XML的配置来处理Spring Boot Log配置。日志配置详细信息在logback.xml文件中配置。logback.xml文件应放在classpath下。

<?xml version = "1.0" encoding = "UTF-8" ?>
<configuration>

    <!-- 设置输出日志级别  -->
    <root level = "INFO">
        <!-- 文件输出 -->
        <appender-ref ref = "FILE"/>
        <!-- 控制台输出-->
        <appender-ref ref = "STDOUT"/>
    </root>
    <!-- 设置控制台输出的格式-->
    <appender name = "STDOUT" class = "ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.sss'Z'}] [%C] [%t] [%L] [%-5p] %m%n</pattern>
        </encoder>
    </appender>
    <!-- 设置文件输出的格式-->
    <appender name = "FILE" class = "ch.qos.logback.core.FileAppender">
        <!-- 设置日志文件路径和文件名-->
        <File>/var/tmp/mylog.log</File>
        <encoder>
            <!-- 日志输出格式-->
            <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.sss'Z'}] [%C] [%t] [%L] [%-5p] %m%n</pattern>
        </encoder>
    </appender>
    
</configuration>

下面给出的代码显示了如何在Spring Boot主类文件中添加slf4j logger。

package com.wzy.demosboot;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoSbootApplication extends SpringBootServletInitializer {
	//实例化日志对象
	private static final Logger logger = LoggerFactory.getLogger(DemoSbootApplication.class);
	
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(DemoSbootApplication.class);
	}

	public static void main(String[] args) {
		SpringApplication.run(DemoSbootApplication.class, args);
	}

	@RequestMapping(value = "/")
	public String hello() {
		//打印INFO级别的日志
		logger.info("this is a info message");
		return "Hello World";
	}

}

配置完成后就可以使用了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值