【SpringBoot】SpringBoot 日志文件

日志的作用

日志是程序的重要组成部分,想象⼀下,如果程序报错了,不让你打开控制台看⽇志,那么你能找到报错的原因吗?

当然如果你很有经验的话,或许也是能够找到的,但是写程序不是买彩票,不能完全靠猜,因此⽇志对于我们来说,最主要的用途就是排除和定位问题。

除了发现和定位问题之外,我们还可以通过⽇志实现以下功能:

  1. 记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。
  2. 记录系统的操作⽇志,⽅便数据恢复和定位操作⼈。
  3. 记录程序的执⾏时间,⽅便为以后优化程序提供数据⽀持。

以上这些都是⽇志提供的⾮常实⽤的功能。

日志怎么用

Spring Boot 项⽬在启动的时候默认就有⽇志输出,如下图所示:
在这里插入图片描述

自定义日志打印

主要分两个步骤:

  1. 在一个类中先获得打印日志对象(日志框架提供的日志对象,而日志框架默认已经集成到 SpringBoot 里了)
  2. 使用日志对象提供的方法实现日志的打印

得到日志对象

在程序中获取⽇志对象需要使⽤⽇志⼯⼚ LoggerFactory,如下代码所示:

//1.先得到日志对象(来自slf4j)
    private final static Logger log= LoggerFactory.getLogger(UserController.class);

在这里插入图片描述
在这里插入图片描述

使用日志对象提供的方法打印日志

package com.example.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 项目中记录日志可以使用 Logback 或者 Log4j2。这里以 Logback 为例,步骤如下: 1. 在 pom.xml 文件中添加 logback 依赖: ``` <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> ``` 2. 在 src/main/resources 目录下创建 logback.xml 文件,配置日志输出格式和输出位置等信息。以下是一个简单的示例配置文件: ``` <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/app.log</file> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <logger name="com.example" level="DEBUG" additivity="false"> <appender-ref ref="FILE" /> </logger> <root level="INFO"> <appender-ref ref="CONSOLE" /> </root> </configuration> ``` 这个配置文件中定义了两个 appender,一个是 CONSOLE,表示将日志输出到控制台;另一个是 FILE,表示将日志输出到文件中。其中,fileNamePattern 配置了日志文件的命名格式,maxHistory 配置了最多保存多少个历史日志文件。 3. 在代码中使用 LoggerFactory 获取 Logger 对象,然后即可进行日志记录。例如: ``` import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DemoController { private static final Logger logger = LoggerFactory.getLogger(DemoController.class); public void doSomething() { logger.debug("Debug log message"); logger.info("Info log message"); logger.warn("Warn log message"); logger.error("Error log message"); } } ``` 运行程序后,日志将会输出到控制台和指定的日志文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值