logback-spring.xml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
  3. <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true -->
  4. <!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
  5. <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
  6. <configuration scan="true" scanPeriod="10 seconds">
  7. <!--为了防止进程退出时,内存中的数据丢失,请加上此选项-->
  8. <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
  9. <!-- 日志上下文名称 -->
  10. <contextName>logback</contextName>
  11. <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
  12. <!-- 日志输出格式 -->
  13. <property name="LOG_PATTERN"
  14. value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}\\(%L\\) - %msg%n"/>
  15. <property name="mdcFields" value="traceId,appType"></property>
  16. <!-- spring property使用方式 -->
  17. <springProperty name="LOG_PATH" source="logging.file.path"/>
  18. <springProperty name="aliyun_log_endpoint" source="aliyun.log.endpoint"/>
  19. <springProperty name="aliyun_log_accessKeyId" source="aliyun.log.accessKeyId"/>
  20. <springProperty name="aliyun_log_accessKeySecret" source="aliyun.log.accessKeySecret"/>
  21. <springProperty name="aliyun_log_project" source="aliyun.log.project"/>
  22. <!-- 彩色日志 -->
  23. <!-- 彩色日志依赖的渲染类 -->
  24. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
  25. <conversionRule conversionWord="wex"
  26. converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
  27. <conversionRule conversionWord="wEx"
  28. converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
  29. <!-- 彩色日志格式 -->
  30. <property name="CONSOLE_LOG_PATTERN"
  31. value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}\\(%L\\)){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  32. <!--输出到控制台-->
  33. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  34. <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  35. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  36. <level>info</level>
  37. </filter>
  38. <encoder>
  39. <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  40. <!-- 设置字符集 -->
  41. <charset>UTF-8</charset>
  42. </encoder>
  43. </appender>
  44. <appender name="loghubAppenderInfo" class="com.tzld.longarticle.recommend.server.common.RecommendLoghubAppender">
  45. <!--必选项-->
  46. <!-- 账号及网络配置 -->
  47. <endpoint>${aliyun_log_endpoint}</endpoint>
  48. <accessKeyId>${aliyun_log_accessKeyId}</accessKeyId>
  49. <accessKeySecret>${aliyun_log_accessKeySecret}</accessKeySecret>
  50. <!-- sls 项目配置 -->
  51. <project>${aliyun_log_project}</project>
  52. <logStore>info-log</logStore>
  53. <!--必选项 (end)-->
  54. <!-- 可选项 -->
  55. <topic></topic>
  56. <source></source>
  57. <!-- 可选项 详见 '参数说明'-->
  58. <totalSizeInBytes>104857600</totalSizeInBytes>
  59. <maxBlockMs>0</maxBlockMs>
  60. <ioThreadCount>16</ioThreadCount>
  61. <batchSizeThresholdInBytes>524288</batchSizeThresholdInBytes>
  62. <batchCountThreshold>4096</batchCountThreshold>
  63. <lingerMs>2000</lingerMs>
  64. <retries>10</retries>
  65. <baseRetryBackoffMs>100</baseRetryBackoffMs>
  66. <maxRetryBackoffMs>50000</maxRetryBackoffMs>
  67. <!-- 可选项 通过配置 encoder 的 pattern 自定义 log 的格式 -->
  68. <!--日志文件输出格式-->
  69. <encoder>
  70. <pattern>${LOG_PATTERN}</pattern>
  71. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  72. </encoder>
  73. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  74. <level>INFO</level>
  75. <onMatch>ACCEPT</onMatch>
  76. <onMismatch>DENY</onMismatch>
  77. </filter>
  78. <mdcFields>
  79. ${mdcFields}
  80. </mdcFields>
  81. </appender>
  82. <appender name="loghubAppenderError" class="com.tzld.longarticle.recommend.server.common.RecommendLoghubAppender">
  83. <!--必选项-->
  84. <!-- 账号及网络配置 -->
  85. <endpoint>${aliyun_log_endpoint}</endpoint>
  86. <accessKeyId>${aliyun_log_accessKeyId}</accessKeyId>
  87. <accessKeySecret>${aliyun_log_accessKeySecret}</accessKeySecret>
  88. <!-- sls 项目配置 -->
  89. <project>${aliyun_log_project}</project>
  90. <logStore>error-log</logStore>
  91. <!--必选项 (end)-->
  92. <!-- 可选项 -->
  93. <topic></topic>
  94. <source></source>
  95. <!-- 可选项 详见 '参数说明'-->
  96. <totalSizeInBytes>104857600</totalSizeInBytes>
  97. <maxBlockMs>0</maxBlockMs>
  98. <ioThreadCount>16</ioThreadCount>
  99. <batchSizeThresholdInBytes>524288</batchSizeThresholdInBytes>
  100. <batchCountThreshold>4096</batchCountThreshold>
  101. <lingerMs>2000</lingerMs>
  102. <retries>10</retries>
  103. <baseRetryBackoffMs>100</baseRetryBackoffMs>
  104. <maxRetryBackoffMs>50000</maxRetryBackoffMs>
  105. <!-- 可选项 通过配置 encoder 的 pattern 自定义 log 的格式 -->
  106. <!--日志文件输出格式-->
  107. <encoder>
  108. <pattern>${LOG_PATTERN}</pattern>
  109. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  110. </encoder>
  111. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  112. <level>ERROR</level>
  113. <onMatch>ACCEPT</onMatch>
  114. <onMismatch>DENY</onMismatch>
  115. </filter>
  116. <mdcFields>
  117. ${mdcFields}
  118. </mdcFields>
  119. </appender>
  120. <springProfile name="dev">
  121. <logger name="com.tzld.longarticle.recommend.server" level="info"/>
  122. </springProfile>
  123. <springProfile name="test">
  124. <logger name="com.tzld.longarticle.recommend.server" level="info"/>
  125. </springProfile>
  126. <springProfile name="pre">
  127. <logger name="com.tzld.longarticle.recommend.server" level="info"/>
  128. </springProfile>
  129. <springProfile name="prod">
  130. <logger name="com.tzld.longarticle.recommend.server" level="info"/>
  131. </springProfile>
  132. <root level="info">
  133. <appender-ref ref="CONSOLE"/>
  134. <appender-ref ref="loghubAppenderInfo"/>
  135. <appender-ref ref="loghubAppenderError"/>
  136. </root>
  137. </configuration>