SpringBoot のロギングは、ファイル (spring-logback.xml ではなく) に出力されたアプリケーションのマルチ環境構成ファイルの構成ログに基づいています。

一般的な状況: ログ ファイルは yyyy-MM-dd に従ってフォルダーに分割され、%i は 1 つのログ ファイルのサイズに応じてファイルを切り取り、インデックス付きの名前を付けます。

  1. 開発環境 (dev): ファイルではなくコンソールにのみ出力され、ログ レベルは INFO です。
  2. テスト環境(test):コンソール出力、ファイル出力、ログレベルはINFO、再起動時にログ内容をクリア可能(デバッグに便利)。
  3. 本番環境(prod):コンソールには出力せず、ファイルのみに出力、ログレベルはERROE(エラーログのみ記録)、再起動時のログクリア禁止(他人のエラーログを漏らさないため)クリアされているため、他の人は問題を見つけることができません)。

pom.xml は環境構成を追加します

	<!-- 环境配置 -->
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <spring.profiles.active>dev</spring.profiles.active>
            </properties>
            <activation>
                <!--  设为默认开启 -->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <profile>
            <id>test</id>
            <properties>
                <spring.profiles.active>test</spring.profiles.active>
            </properties>
        </profile>

        <profile>
            <id>prod</id>
            <properties>
                <spring.profiles.active>prod</spring.profiles.active>
            </properties>
        </profile>
    </profiles>

アプリケーション.yml

spring:
  application:
    name: '@artifactId@'
  profiles:
    #环境(idea右边栏的maven可以选配置文件的环境)
    active: '@spring.profiles.active@'

アプリケーション開発.yml

開発環境設定ファイル

#按需配置

アプリケーションテスト.yml

テスト環境設定ファイル

logging:
  level:
    #spring根日志级别
    root: error
    #spring web日志级别
    web: error
    #项目日志级别
    com.fu.easycode: info
    #SQL日志打印
    com.fu.easycode.mapper: debug
  file:
    #日志存放路径
    path: ./log/${
    
    spring.application.name}/${
    
    spring.profiles.active}
    #日志名称
    name: '${logging.file.path}.log'
  charset:
    #控制台编码
    console: UTF-8
    #输出到文件编码
    file: UTF-8
  pattern:
    #控制台日志输出样式
    console: '%clr(%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'
    #输出到文件的样式
    file: '%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'
  logback:
    rollingpolicy:
      #重启是否清除日志(推荐测试环境使用)
      clean-history-on-start: true
      #切割日志格式
      file-name-pattern: ${
    
    logging.file.path}.%d{
    
    yyyy-MM-dd}.%i.log
      #单个日志文件最大大小
      max-file-size: 10MB
      #全部日志文件最大大小
      total-size-cap: 50GB
      #日志存放天数
      max-history: 15

アプリケーション製品.yml

本番環境設定ファイル

logging:
  level:
    #spring根日志级别
    root: error
    #spring web日志级别
    web: error
    #项目日志级别
    com.fu.easycode: error
    #SQL日志打印
    com.fu.easycode.mapper: debug
  file:
    #日志存放路径
    path: ./log/${
    
    spring.application.name}/${
    
    spring.profiles.active}
    #日志名称
    name: '${logging.file.path}.log'
  charset:
    #输出到文件编码
    file: UTF-8
  pattern:
    #输出到文件的样式
    file: '%d{${LOG_DATEFORMAT_PATTERN:HH:mm:ss}} ${LOG_LEVEL_PATTERN:-%5p} ${PID: } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'
  logback:
    rollingpolicy:
      #重启是否清除日志,默认:否
      clean-history-on-start: false
      #切割日志格式
      file-name-pattern: ${
    
    logging.file.path}.%d{
    
    yyyy-MM-dd}.%i.log
      #单个日志文件最大大小
      max-file-size: 10MB
      #全部日志文件最大大小
      total-size-cap: 50GB
      #日志存放天数
      max-history: 15

おすすめ

転載: blog.csdn.net/weixin_43933728/article/details/132040005
おすすめ