logback.xml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <property name="LOG_FILE_ROOT_PATH" value="/var/log/tidecloud/data-accept" />
  4. <property name="CONSOLE_PATTERN"
  5. value="%gray(%d{MM-dd HH:mm:ss.SSS}) %highlight(%-5level) -- [%gray(%thread)] %cyan(%logger{26}:%line): %msg%n" />
  6. <property name="FILE_PATTERN"
  7. value="%d{MM-dd HH:mm:ss.SSS} %-5level -- [%thread] %logger{26}:[%X{deviceId}] %msg%n" />
  8. <springProperty scope="context" name="logPath"
  9. source="spring.profiles.active" />
  10. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder>
  12. <pattern>${FILE_PATTERN}</pattern>
  13. </encoder>
  14. </appender>
  15. <appender name="ASYNC_CONSOLE" class="ch.qos.logback.classic.AsyncAppender">
  16. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  17. <discardingThreshold>0</discardingThreshold>
  18. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  19. <queueSize>512</queueSize>
  20. <!-- 添加附加的appender,最多只能添加一个 -->
  21. <appender-ref ref="CONSOLE" />
  22. </appender>
  23. <appender name="STRATEGY-THREAD-INFO" class="ch.qos.logback.classic.sift.SiftingAppender">
  24. <discriminator>
  25. <key>strategyName</key>
  26. <defaultValue>system</defaultValue>
  27. </discriminator>
  28. <sift>
  29. <appender name="INFO_FILE_1"
  30. class="ch.qos.logback.core.rolling.RollingFileAppender">
  31. <encoder>
  32. <pattern>${FILE_PATTERN}</pattern>
  33. </encoder>
  34. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  35. <level>INFO</level>
  36. </filter>
  37. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  38. <fileNamePattern>${LOG_FILE_ROOT_PATH}/${logPath}/${strategyName}/info%d{yyyy-MM-dd}.log
  39. </fileNamePattern>
  40. <MaxHistory>10</MaxHistory>
  41. </rollingPolicy>
  42. </appender>
  43. </sift>
  44. </appender>
  45. <appender name="ASYNC_INFO_FILE" class="ch.qos.logback.classic.AsyncAppender">
  46. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  47. <discardingThreshold>0</discardingThreshold>
  48. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  49. <queueSize>512</queueSize>
  50. <!-- 添加附加的appender,最多只能添加一个 -->
  51. <appender-ref ref="STRATEGY-THREAD-INFO" />
  52. </appender>
  53. <appender name="STRATEGY-THREAD-ERROR" class="ch.qos.logback.classic.sift.SiftingAppender">
  54. <discriminator>
  55. <key>strategyName</key>
  56. <defaultValue>system</defaultValue>
  57. </discriminator>
  58. <sift>
  59. <appender name="ERROR_FILE_1"
  60. class="ch.qos.logback.core.rolling.RollingFileAppender">
  61. <File>${LOG_FILE_ROOT_PATH}/${logPath}/${strategyName}/error.log</File>
  62. <encoder>
  63. <pattern>${FILE_PATTERN}</pattern>
  64. </encoder>
  65. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  66. <level>ERROR</level>
  67. </filter>
  68. <rollingPolicy
  69. class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
  70. <maxIndex>30</maxIndex>
  71. <FileNamePattern>${LOG_FILE_ROOT_PATH}/${logPath}/${strategyName}/error.log.%i
  72. </FileNamePattern>
  73. </rollingPolicy>
  74. <triggeringPolicy
  75. class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  76. <MaxFileSize>20MB</MaxFileSize>
  77. </triggeringPolicy>
  78. </appender>
  79. </sift>
  80. </appender>
  81. <appender name="ASYNC_ERROR_FILE" class="ch.qos.logback.classic.AsyncAppender">
  82. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  83. <discardingThreshold>0</discardingThreshold>
  84. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  85. <queueSize>512</queueSize>
  86. <!-- 添加附加的appender,最多只能添加一个 -->
  87. <appender-ref ref="STRATEGY-THREAD-ERROR" />
  88. </appender>
  89. <root level="INFO">
  90. <appender-ref ref="ASYNC_CONSOLE"/>
  91. <appender-ref ref="ASYNC_INFO_FILE"/>
  92. <appender-ref ref="ASYNC_ERROR_FILE"/>
  93. </root>
  94. </configuration>