springboot中使用logback记录日志

springboot中使用logback记录日志

日志级别

四个常用的日志级别,由高到低依次如下:

  • ERROR:记录错误信息
  • WARNING:记录程序运行过程中的潜在问题
  • INFO:程序正常执行记录的信息
  • DEBUG:调试程序记录的详细信息

如果日志级别为DEBUG,那么低于DEBUG级别的日志将不会输出,以此类推。

logback配置及使用

logback是一个日志框架(https://logback.qos.ch/index.html),官网描述为“流行框架log4j的后继者”,spring-boot-starter-parent依赖中已经包含了所需的依赖,直接配置即可使用。

logback配置文件如下,都有注释。

<?xml version="1.0" encoding="UTF-8"?>
<!--定期检查配置文件如发生更改则重新加载,scanPeriod 为检查配置文件的周期-->
<configuration scan="true" scanPeriod="10 seconds">
    <!--日志输出策略,name 表示策略名称,class为策略类型ConsoleAppender表示输出到控制台-->
    <appender name="CONSOLE"
              class="ch.qos.logback.core.ConsoleAppender">
        <!--非必须,指定appender的过滤级别-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
			<!--日志信息格式-->
			<!--%date 时间;%-5level日志级别,左对齐一共占5位;%logger{60} 日志所在类;%msg日志信息;%n换一行-->
            <pattern>%date [%-5level] %logger{60} %msg%n</pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
	<!--日志输出策略,name 表示策略名称,class为策略类型RollingFileAppender表示输出文件-->
    <appender name="FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!--日志文件的输出路径及文件名-->
        <File>D:/log/app.log</File>
        <encoder>
            <pattern>%date [%-5level] %logger{60} %msg%n</pattern>
        </encoder>
		<!--日志的分割策略,TimeBasedRollingPolicy 表示按天分割-->
        <rollingPolicy  class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--分割后的日志文件名-->
            <fileNamePattern>D:/log/app.log.%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- 保留 30 天日志 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>
	<!--指定某一个包或类的日志输出,additivity表示是否向上传递,即是否打印更高级别的日志-->
    <logger name="com.example.demo03.service" level="DEBUG" additivity="false" />
	<!--根日志,level:日志输出级别-->
    <root level="INFO">
		<!--引用日志输出策略-->
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

将配置文件拷贝到springboot项目的resource目录下,在springboot配置文件中指定位置:

logging:
  config: classpath:logback-spring.xml

使用方法如下:

	//定义Logger对象,声明来自哪一个类
    private static final Logger log = LoggerFactory.getLogger(BookController.class);

    @GetMapping("/getbook")
    public Book get(Integer id){
        log.info("查找id="+id+"的book");
        return bookService.getBookById(id);
    }

**注意:**叫Logger的类有很多,要用SLF4j包的

也可以用lombok提供的@SLF4j注解生成Logger对象,@SLF4j注解作用在类上,会自动创建一个当前类的Logger对象

@Slf4j
@RestController
public class BookController {
    @Autowired
    private BookService bookService;

    @GetMapping("/getbook")
    public Book get(Integer id){
        log.info("查找id="+id+"的book");
        return bookService.getBookById(id);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot使用Logback作为日志框架非常常见。Logback是一个灵活且高性能的日志框架,它是Log4j框架的继任者。 要在Spring Boot项目使用Logback,首先需要在项目的依赖添加Logback的相应依赖项。通常,在pom.xml文件添加以下依赖项: ```xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> ``` 接下来,你可以在项目的src/main/resources目录下创建一个名为`logback.xml`的文件,用于配置Logback的行为。在这个配置文件,你可以定义日志输出的格式、日志级别、输出路径等等。以下是一个简单的`logback.xml`配置示例: ```xml <configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="CONSOLE" /> </root> </configuration> ``` 上述配置示例定义了一个名为`CONSOLE`的输出器,将日志输出到控制台。`%d{yyyy-MM-dd HH:mm:ss}`定义了日期时间的格式,`[%thread]`显示了线程信息,`%-5level`显示了日志级别,`%logger{36}`显示了日志记录器的名称,`%msg%n`显示了日志消息和换行符。 最后,你可以在Spring Boot的应用程序使用Logback记录日志。例如,在你的类,你可以使用Logback的Logger对象来记录不同级别的日志。以下是一个使用Logback的示例: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyService { private static final Logger logger = LoggerFactory.getLogger(MyService.class); public void doSomething() { logger.debug("Debug message"); logger.info("Info message"); logger.warn("Warning message"); logger.error("Error message"); } } ``` 在上面的示例,我们通过调用Logger对象的不同方法来记录不同级别的日志。你可以根据需要选择合适的日志级别。 这就是在Spring Boot使用Logback进行日志记录的基本步骤。当然,你还可以进行更高级的配置,例如将日志输出到文件、使用不同的日志文件等。你可以参考Logback的文档来获取更多信息和配置选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值