logback-spring.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 项目名称 -->
  4. <property name="APPDIR" value="gateway-service" />
  5. <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  6. <property name="LOG_PATH" value="../logs" />
  7. <!-- 彩色日志 -->
  8. <!-- 彩色日志依赖的渲染类 -->
  9. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  10. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  11. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  12. <!-- 彩色日志格式 -->
  13. <property name="CONSOLE_LOG_PATTERN" 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(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
  14. <!--包名输出缩进对齐-->
  15. <property name="CONSOLE_LOG_PATTERN" 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}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
  16. <!-- 日志记录器,日期滚动记录
  17. ERROR 级别
  18. -->
  19. <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  20. <!-- 正在记录的日志文件的路径及文件名 -->
  21. <file>${LOG_PATH}/${APPDIR}/${APPDIR}_error.log</file>
  22. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  23. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  24. <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
  25. 可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  26. 而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  27. <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  28. <!-- 保留日志天数 -->
  29. <maxHistory>30</maxHistory>
  30. <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
  31. 命名日志文件,例如log-error-1992-11-06.0.log -->
  32. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  33. <maxFileSize>10MB</maxFileSize>
  34. </timeBasedFileNamingAndTriggeringPolicy>
  35. </rollingPolicy>
  36. <!-- 追加方式记录日志 -->
  37. <append>true</append>
  38. <!-- 日志文件的格式 -->
  39. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  40. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
  41. <charset>utf-8</charset>
  42. </encoder>
  43. <!-- 此日志文件记录error级别的 -->
  44. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  45. <level>error</level>
  46. <onMatch>ACCEPT</onMatch>
  47. <onMismatch>DENY</onMismatch>
  48. </filter>
  49. </appender>
  50. <!-- 日志记录器,日期滚动记录
  51. WARN 级别
  52. -->
  53. <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  54. <!-- 正在记录的日志文件的路径及文件名 -->
  55. <file>${LOG_PATH}/${APPDIR}/${APPDIR}_warn.log</file>
  56. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  57. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  58. <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
  59. 可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  60. 而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  61. <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  62. <!-- 保留日志天数 -->
  63. <maxHistory>15</maxHistory>
  64. <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
  65. 命名日志文件,例如log-warn-1992-11-06.0.log -->
  66. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  67. <maxFileSize>10MB</maxFileSize>
  68. </timeBasedFileNamingAndTriggeringPolicy>
  69. </rollingPolicy>
  70. <!-- 追加方式记录日志 -->
  71. <append>true</append>
  72. <!-- 日志文件的格式 -->
  73. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  74. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
  75. <charset>utf-8</charset>
  76. </encoder>
  77. <!-- 此日志文件只记录warn级别的 -->
  78. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  79. <level>warn</level>
  80. <onMatch>ACCEPT</onMatch>
  81. <onMismatch>DENY</onMismatch>
  82. </filter>
  83. </appender>
  84. <!-- 日志记录器,日期滚动记录
  85. INFO 级别
  86. -->
  87. <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  88. <!-- 正在记录的日志文件的路径及文件名 -->
  89. <file>${LOG_PATH}/${APPDIR}/${APPDIR}_info.log</file>
  90. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  91. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  92. <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
  93. 可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  94. 而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  95. <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  96. <!-- 保留日志天数 -->
  97. <maxHistory>15</maxHistory>
  98. <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
  99. 命名日志文件,例如log-info-1992-11-06.0.log -->
  100. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  101. <maxFileSize>10MB</maxFileSize>
  102. </timeBasedFileNamingAndTriggeringPolicy>
  103. </rollingPolicy>
  104. <!-- 追加方式记录日志 -->
  105. <append>true</append>
  106. <!-- 日志文件的格式 -->
  107. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  108. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
  109. <charset>utf-8</charset>
  110. </encoder>
  111. <!-- 此日志文件只记录info级别的 -->
  112. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  113. <level>info</level>
  114. <onMatch>ACCEPT</onMatch>
  115. <onMismatch>DENY</onMismatch>
  116. </filter>
  117. </appender>
  118. <!-- 日志记录器,日期滚动记录
  119. DEBUG 级别
  120. -->
  121. <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  122. <!-- 正在记录的日志文件的路径及文件名 -->
  123. <file>${LOG_PATH}/${APPDIR}/${APPDIR}_debug.log</file>
  124. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  125. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  126. <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
  127. 可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  128. 而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  129. <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  130. <!-- 保留日志天数 -->
  131. <maxHistory>15</maxHistory>
  132. <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
  133. 命名日志文件,例如log-debug-1992-11-06.0.log -->
  134. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  135. <maxFileSize>10MB</maxFileSize>
  136. </timeBasedFileNamingAndTriggeringPolicy>
  137. </rollingPolicy>
  138. <!-- 追加方式记录日志 -->
  139. <append>true</append>
  140. <!-- 日志文件的格式 -->
  141. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  142. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
  143. <charset>utf-8</charset>
  144. </encoder>
  145. <!-- 此日志文件只记录debug级别的 -->
  146. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  147. <level>debug</level>
  148. <onMatch>ACCEPT</onMatch>
  149. <onMismatch>DENY</onMismatch>
  150. </filter>
  151. </appender>
  152. <!-- ConsoleAppender 控制台输出日志 -->
  153. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  154. <!--encoder 默认配置为PatternLayoutEncoder-->
  155. <encoder>
  156. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  157. <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level -&#45;&#45; [%thread] %logger Line:%-3L - %msg%n</pattern>-->
  158. <charset>utf-8</charset>
  159. </encoder>
  160. <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  161. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  162. <level>debug</level>
  163. </filter>
  164. </appender>
  165. <!--&lt;!&ndash;输出到mysql数据库的appender配置 &ndash;&gt;-->
  166. <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
  167. <!--<connectionSource-->
  168. <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
  169. <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
  170. <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
  171. <!--<user>root</user>-->
  172. <!--<password>a123456789</password>-->
  173. <!--</connectionSource>-->
  174. <!--</appender>-->
  175. <!-- FrameworkServlet日志-->
  176. <logger name="org.springframework" level="WARN" />
  177. <!-- mybatis日志打印-->
  178. <logger name="org.apache.ibatis" level="DEBUG" />
  179. <logger name="java.sql" level="DEBUG" />
  180. <!-- 项目 mapper 路径
  181. console控制台显示sql语句:STDOUT.filter.level -> debug级别
  182. -->
  183. <logger name="com.diagbot.mapper" level="DEBUG" />
  184. <appender name="LOGSTASHDEV" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  185. <destination>192.168.2.236:5044</destination>
  186. <!-- encoder必须配置,有多种可选 -->
  187. <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
  188. <customFields>{"appname":"gateway-service"}</customFields>
  189. </encoder>
  190. </appender>
  191. <appender name="LOGSTASHTEST" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  192. <destination>192.168.2.241:5044</destination>
  193. <!-- encoder必须配置,有多种可选 -->
  194. <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
  195. <customFields>{"appname":"gateway-service"}</customFields>
  196. </encoder>
  197. </appender>
  198. <!-- 本地环境下的日志配置 -->
  199. <springProfile name="local">
  200. <root level="INFO">
  201. <appender-ref ref="ERROR" />
  202. <appender-ref ref="WARN" />
  203. <appender-ref ref="INFO" />
  204. <appender-ref ref="DEBUG" />
  205. <!-- 生产环境将请stdout去掉 -->
  206. <appender-ref ref="STDOUT" />
  207. </root>
  208. </springProfile>
  209. <!-- 开发环境下的日志配置 -->
  210. <springProfile name="dev">
  211. <root level="INFO">
  212. <appender-ref ref="ERROR" />
  213. <appender-ref ref="WARN" />
  214. <appender-ref ref="INFO" />
  215. <appender-ref ref="DEBUG" />
  216. <!-- 生产环境将请stdout去掉 -->
  217. <appender-ref ref="STDOUT" />
  218. <appender-ref ref="LOGSTASHDEV" />
  219. </root>
  220. </springProfile>
  221. <!-- 测试环境下的日志配置 -->
  222. <springProfile name="test">
  223. <root level="INFO">
  224. <appender-ref ref="ERROR" />
  225. <appender-ref ref="WARN" />
  226. <appender-ref ref="INFO" />
  227. <appender-ref ref="DEBUG" />
  228. <!-- 生产环境将请stdout去掉 -->
  229. <appender-ref ref="STDOUT" />
  230. <appender-ref ref="LOGSTASHTEST" />
  231. </root>
  232. </springProfile>
  233. <!-- 生产环境下的日志配置 -->
  234. <springProfile name="pro">
  235. <root level="INFO">
  236. <appender-ref ref="ERROR" />
  237. <appender-ref ref="WARN" />
  238. <appender-ref ref="INFO" />
  239. <appender-ref ref="DEBUG" />
  240. <appender-ref ref="LOGSTASH" />
  241. </root>
  242. </springProfile>
  243. </configuration>