logback-spring.xml 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false" scan="false" scanPeriod="30 seconds">
  3. <springProperty scope="context" name="logLevel" source="log.level"/>
  4. <springProperty scope="context" name="logPath" source="log.path"/>
  5. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  6. <encoder>
  7. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] [%class:%line] - %m %n</pattern>
  8. </encoder>
  9. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  10. <level>INFO</level>
  11. </filter>
  12. </appender>
  13. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  14. <file>${logPath}.log</file>
  15. <encoder>
  16. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] [%class:%line] - %m %n</pattern>
  17. </encoder>
  18. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  19. <level>DEBUG</level>
  20. </filter>
  21. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  22. <fileNamePattern>${logPath}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  23. <!-- 文件最大保存历史数量 -->
  24. <MaxHistory>1000</MaxHistory>
  25. <maxFileSize>5120MB</maxFileSize>
  26. <totalSizeCap>200GB</totalSizeCap>
  27. <cleanHistoryOnStart>true</cleanHistoryOnStart>
  28. </rollingPolicy>
  29. </appender>
  30. <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  31. <file>${logPath}-ERROR.log</file>
  32. <encoder>
  33. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] [%class:%line] - %m %n</pattern>
  34. </encoder>
  35. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  36. <level>ERROR</level>
  37. </filter>
  38. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  39. <fileNamePattern>${logPath}-ERROR.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  40. <!-- 文件最大保存历史数量 -->
  41. <MaxHistory>10</MaxHistory>
  42. <maxFileSize>512MB</maxFileSize>
  43. <totalSizeCap>20GB</totalSizeCap>
  44. <cleanHistoryOnStart>true</cleanHistoryOnStart>
  45. </rollingPolicy>
  46. </appender>
  47. <appender name="asyncAppender" class="ch.qos.logback.classic.AsyncAppender">
  48. <!-- 设置为0不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  49. <discardingThreshold>0</discardingThreshold>
  50. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  51. <queueSize>100000</queueSize>
  52. <!--队列满了直接丢弃要写的消息-->
  53. <neverBlock>false</neverBlock>
  54. <!--是否包含调用方的信息,false则无法打印类名方法名行号等-->
  55. <includeCallerData>true</includeCallerData>
  56. <!-- 添加附加的appender,最多只能添加一个 -->
  57. <appender-ref ref="FILE"/>
  58. </appender>
  59. <appender name="asyncAppender2" class="ch.qos.logback.classic.AsyncAppender">
  60. <!-- 设置为0不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  61. <discardingThreshold>0</discardingThreshold>
  62. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  63. <queueSize>10000</queueSize>
  64. <!--队列满了直接丢弃要写的消息-->
  65. <neverBlock>false</neverBlock>
  66. <!--是否包含调用方的信息,false则无法打印类名方法名行号等-->
  67. <includeCallerData>true</includeCallerData>
  68. <!-- 添加附加的appender,最多只能添加一个 -->
  69. <appender-ref ref="FILE_ERROR"/>
  70. </appender>
  71. <root level="INFO"> <!-- 可以设置为DEBUG; -->
  72. <!-- 生产环境请去掉STDOUT,避免阻塞; -->
  73. <appender-ref ref="STDOUT" />
  74. <appender-ref ref="asyncAppender" />
  75. <appender-ref ref="asyncAppender2" />
  76. </root>
  77. </configuration>