首页 > 其他分享 >【揭秘】Spring Boot配置文件与日志文件的神秘面纱!开发者必看!

【揭秘】Spring Boot配置文件与日志文件的神秘面纱!开发者必看!

时间:2024-11-07 15:44:54浏览次数:3  
标签:配置文件 必看 Spring 配置 Boot application 日志

Spring Boot 的配置文件与日志文件是应用程序配置和运行日志管理的关键组成部分。下面将详细介绍这两种文件:

Spring Boot 配置文件

  1. 基本概述:Spring Boot 支持多种配置文件格式,包括 .properties.yml.yaml.properties 是传统的键值对形式,简单易懂,但当配置结构复杂时容易变得冗长且难以维护。而 .yml.yaml 使用缩进和冒号来表示层级关系,结构清晰,易于阅读和维护。

  2. 优先级顺序:Spring Boot 加载配置文件时的优先级顺序至关重要,避免配置冲突,确保应用行为符合预期。命令行参数(最高优先级) > Java 系统属性 > 操作系统环境变量 > Jar 包外的配置文件 > Jar 包内的配置文件 > 应用程序内部的默认配置。

  3. 多环境配置:基于 Profile 的多环境配置允许在不同环境中使用不同的配置,例如开发、测试、生产等环境。通过在 application.propertiesapplication.yml 中设置 spring.profiles.active 属性来激活特定的 profile。

  4. 日志配置:日志级别配置可以通过在 application.propertiesapplication.yml 文件中设置 logging.level 属性来指定不同包或类的日志级别。日志输出格式配置则通过设置 logging.pattern 属性来定义日志的输出格式。

Spring Boot 日志文件

  1. 日志框架概述:SLF4J 作为日志门面,提供了统一的日志接口,而 Logback 作为日志实现,提供了强大的日志功能和灵活的配置选项。

  2. 基础日志配置:在 application.propertiesapplication.yml 中可以配置日志级别,如全局日志级别、特定包的日志级别以及 Spring 框架的日志级别。

  3. 文件输出配置:可以配置日志文件的名称和路径,以及单个文件的最大大小、保留天数和总文件大小上限等。

  4. 自定义 logback 配置文件:可以在 resources 目录下创建名为 logback-spring.xml 的文件,以实现更复杂的日志配置需求。

总的来说,Spring Boot 的配置文件和日志文件是应用程序配置和运行日志管理的重要组成部分。通过合理地使用这些配置文件和日志文件,可以提高应用程序的可维护性和可扩展性。

Spring Boot 配置文件示例

application.properties
# Server configuration
server.port=8080

# Datasource configuration
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret

# Logging configuration
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG
logging.file.name=app.log
application.yml
server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: secret

logging:
  level:
    org.springframework: INFO
    com.example: DEBUG
  file:
    name: app.log

Spring Boot 日志文件配置示例

logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOG_PATH" value="logs"/>
    <property name="LOG_FILE" value="${LOG_PATH}/app.log"/>
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} - %msg%n"/>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_PATH}/archived/app.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <root level="info">
        <appender-ref ref="FILE"/>
    </root>
</configuration>

这些示例展示了如何在 Spring Boot 应用中进行基本的配置和日志管理。通过调整这些配置,您可以根据需要自定义应用程序的行为和日志记录方式。

标签:配置文件,必看,Spring,配置,Boot,application,日志
From: https://blog.csdn.net/Q2024107/article/details/143597450

相关文章

  • 【揭秘】Spring AOP:面向切面编程的神秘面纱!你也能成为编程高手
    SpringAOP(Aspect-OrientedProgramming,面向切面编程)是Spring框架中的一个重要特性,它允许开发者将横切关注点(如日志记录、事务管理、性能监控等)从业务逻辑代码中分离出来,通过定义切面(Aspect)来模块化这些横切关注点。1.SpringAOP基础1.1引入依赖首先,需要在项目中引入Sprin......
  • SpringBoot整合Thymeleaf详解
    文章目录SpringBoot整合Thymeleaf详解一、引言二、SpringBoot与Thymeleaf的整合1、配置Thymeleaf1.1、添加依赖1.2、配置属性2、创建Controller三、编写Thymeleaf模板四、总结SpringBoot整合Thymeleaf详解一、引言在现代JavaWeb开发中,SpringBoot因其简化配置和......
  • 这可能是最好的Spring教程!即便无基础也能看懂的入门Spring,仍在持续更新。
    开启这样一个系列的原因    这一段时间都在学spring,但是在学习的过程中一直都很难找到一个通俗易懂,又带了学习体系的文章教程,很多地方都不懂,需要自己去慢慢查询和理解,感觉学起来很耗时,所以我自己就像写一个这样能通俗易懂的Spring入门,让其他想我一样的小白也能速通入门。 ......
  • SpringBoot推荐图书阅读系统6c613 带论文文档1万字以上,文末可获取,
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容;用户,图书分类,图书信息开题报告内容一、课题背景与意义随着信息时代的到来,图书馆和在线阅读平台的书籍数量急剧增加,用户在寻找适合自己的阅读材料时......
  • SpringBoot外卖服务系统k83px 本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,商家,店铺信息,菜品分类,菜品信息,店铺公告开题报告内容一、研究背景与意义随着互联网技术的飞速发展,人们的生活方式正在发生深刻变革。在餐饮......
  • 基于SpringBoot的Java教学支持系统开发指南
    1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理教学辅助平台的相关信息成为必然。开发合适的教学辅助平台,可以方便管理人员对教学辅助平台......
  • SpringBoot Java教学辅助平台:构建高效学习环境
    1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理教学辅助平台的相关信息成为必然。开发合适的教学辅助平台,可以方便管理人员对教学辅助平台......
  • 基于SpringBoot+Vue的网上超市设计与实现
    前言网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此超市商品销售信息的管理计算机化,系统化是必要的。设计开发网上超......
  • 基于springboot+vue的毕业生实习与就业管理系统的设计与实现
    前言使用旧方法对毕业生实习与就业管理系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在毕业生实习与就业管理系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的毕业生实习与就业管理......
  • ​SpringBoot开箱即用原理
    启动类@SpringBootApplication注解里面包含了两个注解@SpringBootConfiguration和@EnableAutoConfiguration。//@SpringBootApplication 标注,是一个SpringBoot应用@SpringBootApplicationpublic class SpringbootdemoApplication {    public static void main(......