logback-spring.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  4. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  5. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  6. <level>INFO</level>
  7. </filter>
  8. <encoder>
  9. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  10. <charset>UTF-8</charset>
  11. </encoder>
  12. </appender>
  13. <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  14. <!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高, 所以我们使用下面的策略,可以避免输出 Error 的日志-->
  15. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  16. <!--过滤 Error-->
  17. <level>ERROR</level>
  18. <!--匹配到就禁止-->
  19. <onMatch>DENY</onMatch>
  20. <!--没有匹配到就允许-->
  21. <onMismatch>ACCEPT</onMismatch>
  22. </filter>
  23. <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
  24. <!--<File>logs/info.spring-boot-demo-logback.log</File>-->
  25. <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
  26. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  27. <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
  28. <FileNamePattern>logs/gp-exp-server-logback/info.created_on_%d{yyyy-MM-dd}.part_%i.log</FileNamePattern>
  29. <!--只保留最近90天的日志-->
  30. <maxHistory>90</maxHistory>
  31. <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
  32. <totalSizeCap>10GB</totalSizeCap>
  33. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  34. <!-- maxFileSize:这是活动文件的大小,默认值是10MB,本篇设置为1KB,只是为了演示 -->
  35. <maxFileSize>10MB</maxFileSize>
  36. </timeBasedFileNamingAndTriggeringPolicy>
  37. </rollingPolicy>
  38. <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
  39. <!--<maxFileSize>1KB</maxFileSize>-->
  40. <!--</triggeringPolicy>-->
  41. <encoder>
  42. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  43. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  44. </encoder>
  45. </appender>
  46. <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  47. <!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter-->
  48. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  49. <level>Error</level>
  50. </filter>
  51. <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
  52. <!--<File>logs/error.spring-boot-demo-logback.log</File>-->
  53. <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
  54. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  55. <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
  56. <FileNamePattern>logs/gp-exp-server-logback/error.created_on_%d{yyyy-MM-dd}.part_%i.log</FileNamePattern>
  57. <!--只保留最近90天的日志-->
  58. <maxHistory>90</maxHistory>
  59. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  60. <!-- maxFileSize:这是活动文件的大小,默认值是10MB,本篇设置为1KB,只是为了演示 -->
  61. <maxFileSize>2MB</maxFileSize>
  62. </timeBasedFileNamingAndTriggeringPolicy>
  63. </rollingPolicy>
  64. <encoder>
  65. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  66. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  67. </encoder>
  68. </appender>
  69. <logger name="com.parksong.dao" level="DEBUG"></logger>
  70. <root level="info">
  71. <appender-ref ref="CONSOLE"/>
  72. <appender-ref ref="FILE_INFO"/>
  73. <appender-ref ref="FILE_ERROR"/>
  74. </root>
  75. </configuration>