默认的配置文件名为:logback-spring.xml

基本上够用的配置

  1. <configuration scan="true" scanPeriod="30 seconds">
  2. <property name="INFO_HOME" value="/log/transocean/info"/>
  3. <property name="ERROR_HOME" value="/log/transocean/error"/>
  4. <property name="WARN_HOME" value="/log/transocean/warn"/>
  5. <include resource="org/springframework/boot/logging/logback/base.xml" />
  6. <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  7. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  8. <!-- 设置过滤级别 -->
  9. <level>INFO</level>
  10. <!-- 用于配置符合过滤条件的操作 -->
  11. <onMatch>ACCEPT</onMatch>
  12. <!-- 用于配置不符合过滤条件的操作 -->
  13. <onMismatch>DENY</onMismatch>
  14. </filter>
  15. <encoder>
  16. <Pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</Pattern>
  17. <charset>UTF-8</charset>
  18. </encoder>
  19. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  20. <fileNamePattern>${INFO_HOME}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
  21. <maxHistory>10</maxHistory>
  22. </rollingPolicy>
  23. </appender >
  24. <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  25. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  26. <!-- 设置过滤级别 -->
  27. <level>WARN</level>
  28. <!-- 用于配置符合过滤条件的操作 -->
  29. <onMatch>ACCEPT</onMatch>
  30. <!-- 用于配置不符合过滤条件的操作 -->
  31. <onMismatch>DENY</onMismatch>
  32. </filter>
  33. <encoder>
  34. <Pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</Pattern>
  35. <charset>UTF-8</charset>
  36. </encoder>
  37. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  38. <fileNamePattern>${WARN_HOME}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
  39. <maxHistory>10</maxHistory>
  40. </rollingPolicy>
  41. </appender >
  42. <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  43. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  44. <!-- 设置过滤级别 -->
  45. <level>ERROR</level>
  46. <!-- 用于配置符合过滤条件的操作 -->
  47. <onMatch>ACCEPT</onMatch>
  48. <!-- 用于配置不符合过滤条件的操作 -->
  49. <onMismatch>DENY</onMismatch>
  50. </filter>
  51. <encoder>
  52. <Pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</Pattern>
  53. <charset>UTF-8</charset>
  54. </encoder>
  55. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  56. <fileNamePattern>${ERROR_HOME}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
  57. <maxHistory>10</maxHistory>
  58. </rollingPolicy>
  59. </appender >
  60. <springProfile name="prd">
  61. <root level="INFO">
  62. <appender-ref ref="INFO" />
  63. <appender-ref ref="WARN" />
  64. <appender-ref ref="ERROR" />
  65. </root>
  66. </springProfile>
  67. </configuration>

解释

property

定义全局的变量

include

引入现成的配置

appender

日志处理适配 将决定日志的

  • 过滤方式(根据level过滤等)
  • 输出格式
  • 存储方式

springProfile

springboot多环境下的自由配置