springboot打印操作日志

添加了Lombok和logback依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
 

接下来,在您的Spring Boot应用程序中,您可以使用Lombok提供的@Slf4j注解来自动生成日志记录变量,例如:

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
public class UserController {
    @GetMapping("/user")
    public String getUser() {
        log.debug("Request to get user information.");
        // your logic here
        return "User";
    }
}
 

在这个例子中,我们使用了@Slf4j注解来自动生成一个log变量,用于日志记录。然后,在getUser()方法中,我们使用log.debug()方法来记录一条调试级别的日志消息。

接下来,我们将配置logback来将日志记录持久化到文件中。在src/main/resources目录下,创建一个名为logback.xml的文件:

常见配置选项的完整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/application.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/application.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- root日志配置 -->
    <root level="info">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>

    <!-- com.example包日志配置 -->
    <logger name="com.example" level="debug"/>

</configuration>

在此示例中,我们定义了两个附录器:CONSOLEFILECONSOLE附加程序将日志记录输出到控制台,而FILE附加程序将日志记录输出到启动应用程序时指定的文件中。

我们还定义了两个不同的日志记录配置:rootcom.exampleroot配置将应用于所有日志记录,而com.example配置将仅应用于名为com.example的logger。

我们使用&lt;rollingPolicy>标记来指定日志文件滚动策略。在此示例中,我们使用TimeBasedRollingPolicy,它根据时间来滚动日志文件。fileNamePattern属性指定生成的日志文件的名称格式。在此示例中,我们使用了每天一个日志文件,并最多保留了7天的历史日志记录。

或者使用yml配置

logging:
  file:
    name: E:/log/logfile.log
    # 清理策略
    cleanup:
      policy: time_based
      # 按天数清理
      time_based:
        max_age: 7
  level:
    root: info
    com.example.mypackage: debug
  pattern:
    console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"

日志是用来帮助开发者在程序中定位问题和调试的工具,因此一般来说我们会在以下情况下打印日志:

  1. 在程序出现异常或错误时,用来记录错误信息和堆栈信息,方便定位和解决问题。

  2. 在程序执行过程中需要输出一些调试信息或运行状态信息时,用来帮助开发者了解程序的运行情况。

  3. 在程序中需要进行性能分析时,用来记录程序的执行时间和资源消耗情况,方便进行优化和改进。

以下是一个简单的打印日志的例子:

public class MyService {

    private static final Logger LOGGER = LoggerFactory.getLogger(MyService.class);

    public void doSomething() {

        LOGGER.debug("Starting doSomething method.");

        try {
            // do some work
        } catch (Exception e) {
            LOGGER.error("An error occurred while doing something.", e);
        }

        LOGGER.debug("Finished doSomething method.");
    }
}

在上面的例子中,我们使用了logback框架打印日志。在doSomething方法中,我们分别使用了debug和error级别打印日志,分别用来记录方法的开始和结束信息,以及方法执行过程中出现的异常信息。通过打印这些日志,我们可以更好地了解方法的执行情况,以及定位和解决问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只java小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值