springboot 集成logback

本文介绍如何在SpringBoot项目中集成Logback进行日志记录。通过在application.properties文件中指定logback.xml配置文件,并详细配置logback.xml来实现控制台及文件的日志输出。配置包括日志级别、输出格式、滚动策略等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot 集成logback

1.application.properties配置文件指定logback.xml

  logging.config=classpath:logback.xml

2.配置logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
    <property name="LOG_HOME" value="log" />
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>
                %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名 -->
            <FileNamePattern>
                <!-- ${LOG_HOME}/service.log.%d{yyyy-MM-dd} -->
                ${LOG_HOME:-logs}/%d{yyyy-MM-dd}.%i.log
            </FileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <!--日志文件保留天数 -->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>
                %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

 

转载于:https://www.cnblogs.com/tx710057123/p/8578313.html

### 集成 Logback 进行日志管理 Spring Boot 默认支持多种日志框架,其中包括 Logback。为了在 Spring Boot 项目中集成并配置 Logback 日志管理系统,可以通过以下方式实现。 #### 添加依赖项 首先需要确认 `spring-boot-starter` 中已经包含了 Logback 的依赖。通常情况下,默认 Starter POM 已经集成Logback 支持[^1]。如果需要额外功能或者自定义扩展,可以在项目的 `pom.xml` 文件中显式声明: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> ``` 上述依赖会引入 Logback 和其他必要的库来完成日志记录的功能。 #### 自定义 Logback 配置文件 通过创建一个名为 `logback-spring.xml` 或者 `logback.xml` 的 XML 文件来自定义 Logback 行为。推荐使用带有 `-spring` 后缀的名称以便利用 Spring Boot 提供的一些特性(如环境变量替换)。以下是基本的日志配置模板: ```xml <?xml version="1.0" encoding="UTF-8"?> <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> <!-- 定义文件输出 --> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>logs/app.log</file> <append>true</append> <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"/> <appender-ref ref="FILE"/> </root> <!-- 可选:设置特定包的日志级别 --> <logger name="com.example.myproject" level="debug" additivity="false"> <appender-ref ref="FILE"/> </logger> </configuration> ``` 该配置实现了两个主要目标: 1. 将日志打印到控制台上。 2. 将日志保存至指定路径下的文件中。 #### 使用 application.properties/yml 调整日志行为 除了直接修改 Logback 配置外,还可以借助 Spring Boot 的外部化配置机制调整部分参数。例如更改全局日志等级或启用调试模式: ```properties # 修改默认日志级别 logging.level.root=warn # 对于某些特定包开启更详细的追踪 logging.level.org.springframework.web=debug logging.level.com.example.myproject=trace # 输出位置定制 logging.file.name=./my-application.log logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} --- [%t] %c:%L - %msg%n ``` 以上方法允许开发者无需改动底层 Logback 配置即可灵活改变应用运行期间的行为表现。 --- ### 总结 通过合理运用内置 Starter POMs以及提供专属的 Logback 配置文档,能够轻松达成对 Spring Boot 应用程序中的日志管理工作需求。同时配合 properties 文件进一步简化日常运维操作流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值