# spring-boot-log **Repository Path**: tobybiao/spring-boot-log ## Basic Information - **Project Name**: spring-boot-log - **Description**: Spring Boot Logback 多环境配置 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot Logback 多环境配置 假设有两个环境:本地开发环境和生产环境 项目目录结构: ``` ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main │   ├── java │   │   └── com │   │   └── example │   │   └── springbootlog │   │   ├── MessageController.java │   │   └── SpringBootLogApplication.java │   └── resources │   ├── application-dev.properties │   ├── application-prod.properties │   ├── application.properties │   ├── logback-spring.xml │   ├── static │   └── templates └── test └── java └── com └── example └── springbootlog └── SpringBootLogApplicationTests.java 14 directories, 10 files ``` application-dev.properties代表本地开发环境 application-prod.properties代表生产环境 ## application-dev.properties ``` logging.level.root=DEBUG # 日志等级 debug=true logging.path=log/dev # 存放日志文件路径 ``` ## application-prod.properties ``` logging.level.root=info logging.path=log/prod ``` # logback-spring.xml ``` %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %clr(%-5level) %logger{36} -%msg%n UTF-8 ${LOG_PATH}/data-debug.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n) UTF-8 ${LOG_PATH}/data-debug-%d{yyyy-MM-dd}.%i.log 2MB 30 DEBUG ACCEPT DENY ${LOG_PATH}/data-info.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 ${LOG_PATH}/data-info-%d{yyyy-MM-dd}.%i.log 2MB 30 INFO ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 ${LOG_PATH}/data-warn.log ${LOG_PATH}/data-warn-%d{yyyy-MM-dd}.%i.log 2MB 30 WARN ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n UTF-8 ${LOG_PATH}/data-error.log ${LOG_PATH}/data-error-%d{yyyy-MM-dd}.%i.log 2MB 30 ERROR ``` `springProfile` 指定不同环境的日志配置 ## application.properties ``` spring.output.ansi.enabled=ALWAYS # override the auto detection. spring.profiles.active=prod ``` `spring.profiles.active` 指定当前使用环境配置 ## 如果你的终端支持ANSI,颜色输出用于提高可读性 .设置 `spring.output.ansi.enabled` 覆盖默认行为 支持的值: ALWAYS > 启用颜色输出。 DETECT > 检测是否有ANSI着色功能。 NEVER > 禁用ANSI-colored输出。 `` 使用颜色:`%clr(%5p)` 如例子中 `%clr(%-5level)` 将使控制台日志输出的等级名称带上默认的颜色 > 不同日志等级默认颜色 | Level | Color | | ------- | ------ | | `FATAL` | Red | | `ERROR` | Red | | `WARN` | Yellow | | `INFO` | Green | | `DEBUG` | Green | | `TRACE` | Green | > 参考 > https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html