logback-jk.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
  2. <configuration scan="true" scanPeriod="10 seconds">
  3. <!--继承spring boot提供的logback配置-->
  4. <!--<include resource="org/springframework/boot/logging/logback/base.xml" />-->
  5. <!--设置系统日志目录-->
  6. <property name="APP_DIR" value="service-platform" />
  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(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  14. <!-- 控制台输出 -->
  15. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  16. <encoder>
  17. <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  18. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  19. </encoder>
  20. <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  21. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  22. <level>debug</level>
  23. </filter>
  24. </appender>
  25. <!-- 不带彩色的日志在控制台输出时候的设置 -->
  26. <!--<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">-->
  27. <!--<encoder>-->
  28. <!--&lt;!&ndash;格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符&ndash;&gt;-->
  29. <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>-->
  30. <!--</encoder>-->
  31. <!--&lt;!&ndash;此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息&ndash;&gt;-->
  32. <!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
  33. <!--<level>debug</level>-->
  34. <!--</filter>-->
  35. <!--</appender>-->
  36. <!-- 时间滚动输出 level为 DEBUG 日志 -->
  37. <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  38. <!-- 正在记录的日志文件的路径及文件名 -->
  39. <file>${LOG_PATH}/${APP_DIR}/log_debug.log</file>
  40. <!--日志文件输出格式-->
  41. <encoder>
  42. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  43. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  44. </encoder>
  45. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  46. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  47. <!--
  48. 归档的日志文件的路径,例如今天是2017-04-26日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  49. 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
  50. -->
  51. <fileNamePattern>${LOG_PATH}/${APP_DIR}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  52. <!--
  53. 除按日志记录之外,还配置了日志文件不能超过500M,若超过500M,日志文件会以索引0开始,
  54. 命名日志文件,例如log-error-2017-04-26.0.log
  55. -->
  56. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  57. <maxFileSize>500MB</maxFileSize>
  58. </timeBasedFileNamingAndTriggeringPolicy>
  59. <!--日志文件保留天数-->
  60. <maxHistory>30</maxHistory>
  61. </rollingPolicy>
  62. <!-- 此日志文件只记录debug级别的 -->
  63. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  64. <level>debug</level>
  65. <onMatch>ACCEPT</onMatch>
  66. <onMismatch>DENY</onMismatch>
  67. </filter>
  68. </appender>
  69. <!-- 时间滚动输出 level为 INFO 日志 -->
  70. <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  71. <!-- 正在记录的日志文件的路径及文件名 -->
  72. <file>${LOG_PATH}/${APP_DIR}/log_info.log</file>
  73. <!--日志文件输出格式-->
  74. <encoder>
  75. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  76. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  77. </encoder>
  78. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  79. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  80. <!--
  81. 归档的日志文件的路径,例如今天是2017-04-26日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  82. 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
  83. -->
  84. <fileNamePattern>${LOG_PATH}/${APP_DIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  85. <!--
  86. 除按日志记录之外,还配置了日志文件不能超过500M,若超过500M,日志文件会以索引0开始,
  87. 命名日志文件,例如log-error-2017-04-26.0.log
  88. -->
  89. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  90. <maxFileSize>500MB</maxFileSize>
  91. </timeBasedFileNamingAndTriggeringPolicy>
  92. <!--日志文件保留天数-->
  93. <maxHistory>30</maxHistory>
  94. </rollingPolicy>
  95. <!-- 此日志文件只记录info级别的 -->
  96. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  97. <level>info</level>
  98. <onMatch>ACCEPT</onMatch>
  99. <onMismatch>DENY</onMismatch>
  100. </filter>
  101. </appender>
  102. <!-- 时间滚动输出 level为 WARN 日志 -->
  103. <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  104. <!-- 正在记录的日志文件的路径及文件名 -->
  105. <file>${LOG_PATH}/${APP_DIR}/log_warn.log</file>
  106. <!--日志文件输出格式-->
  107. <encoder>
  108. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  109. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  110. </encoder>
  111. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  112. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  113. <!--
  114. 归档的日志文件的路径,例如今天是2017-04-26日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  115. 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
  116. -->
  117. <fileNamePattern>${LOG_PATH}/${APP_DIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  118. <!--
  119. 除按日志记录之外,还配置了日志文件不能超过500M,若超过500M,日志文件会以索引0开始,
  120. 命名日志文件,例如log-error-2017-04-26.0.log
  121. -->
  122. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  123. <maxFileSize>500MB</maxFileSize>
  124. </timeBasedFileNamingAndTriggeringPolicy>
  125. <!--日志文件保留天数-->
  126. <maxHistory>30</maxHistory>
  127. </rollingPolicy>
  128. <!-- 此日志文件只记录warn级别的 -->
  129. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  130. <level>warn</level>
  131. <onMatch>ACCEPT</onMatch>
  132. <onMismatch>DENY</onMismatch>
  133. </filter>
  134. </appender>
  135. <!-- 时间滚动输出 level为 ERROR 日志 -->
  136. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  137. <!-- 正在记录的日志文件的路径及文件名 -->
  138. <file>${LOG_PATH}/${APP_DIR}/log_error.log</file>
  139. <!--日志文件输出格式-->
  140. <encoder>
  141. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  142. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  143. </encoder>
  144. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  145. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  146. <!--
  147. 归档的日志文件的路径,例如今天是2017-04-26日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  148. 而2017-04-26的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引
  149. -->
  150. <fileNamePattern>${LOG_PATH}/${APP_DIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  151. <!--
  152. 除按日志记录之外,还配置了日志文件不能超过500M,若超过500M,日志文件会以索引0开始,
  153. 命名日志文件,例如log-error-2017-04-26.0.log
  154. -->
  155. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  156. <maxFileSize>500MB</maxFileSize>
  157. </timeBasedFileNamingAndTriggeringPolicy>
  158. <!--日志文件保留天数-->
  159. <maxHistory>30</maxHistory>
  160. </rollingPolicy>
  161. <!-- 此日志文件只记录ERROR级别的 -->
  162. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  163. <level>error</level>
  164. <onMatch>ACCEPT</onMatch>
  165. <onMismatch>DENY</onMismatch>
  166. </filter>
  167. </appender>
  168. <logger name="org.springframework.web" level="info"/>
  169. <logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>
  170. <logger name="platform" level="debug"/>
  171. <!--开发环境:打印控制台-->
  172. <springProfile name="dev">
  173. <root level="info">
  174. <appender-ref ref="CONSOLE" />
  175. <!--<appender-ref ref="DEBUG_FILE" />-->
  176. <appender-ref ref="INFO_FILE" />
  177. <appender-ref ref="WARN_FILE" />
  178. <appender-ref ref="ERROR_FILE" />
  179. </root>
  180. </springProfile>
  181. <!--测试环境:打印控制台和输出到文件-->
  182. <springProfile name="test">
  183. <root level="info">
  184. <appender-ref ref="CONSOLE" />
  185. <appender-ref ref="INFO_FILE" />
  186. <appender-ref ref="WARN_FILE" />
  187. <appender-ref ref="ERROR_FILE" />
  188. </root>
  189. </springProfile>
  190. <!--测试环境:打印控制台和输出到文件-->
  191. <springProfile name="vpn">
  192. <root level="info">
  193. <appender-ref ref="CONSOLE" />
  194. <appender-ref ref="INFO_FILE" />
  195. <appender-ref ref="WARN_FILE" />
  196. <appender-ref ref="ERROR_FILE" />
  197. </root>
  198. </springProfile>
  199. <!--测试环境:打印控制台和输出到文件-->
  200. <springProfile name="aliyun">
  201. <root level="info">
  202. <appender-ref ref="CONSOLE" />
  203. <appender-ref ref="INFO_FILE" />
  204. <appender-ref ref="WARN_FILE" />
  205. <appender-ref ref="ERROR_FILE" />
  206. </root>
  207. </springProfile>
  208. <!--测试环境:打印控制台和输出到文件-->
  209. <springProfile name="local">
  210. <root level="info">
  211. <appender-ref ref="CONSOLE" />
  212. <appender-ref ref="INFO_FILE" />
  213. <appender-ref ref="WARN_FILE" />
  214. <appender-ref ref="ERROR_FILE" />
  215. </root>
  216. </springProfile>
  217. <!--生产环境:输出到文件-->
  218. <springProfile name="pro">
  219. <root level="error">
  220. <appender-ref ref="ERROR_FILE" />
  221. </root>
  222. </springProfile>
  223. <!-- 政府测试环境 -->
  224. <springProfile name="prod_test">
  225. <root level="info">
  226. <appender-ref ref="CONSOLE" />
  227. <appender-ref ref="INFO_FILE" />
  228. <appender-ref ref="WARN_FILE" />
  229. <appender-ref ref="ERROR_FILE" />
  230. </root>
  231. </springProfile>
  232. <!-- 政府测试环境 -->
  233. <springProfile name="prod_out">
  234. <root level="info">
  235. <appender-ref ref="CONSOLE" />
  236. <appender-ref ref="INFO_FILE" />
  237. <appender-ref ref="WARN_FILE" />
  238. <appender-ref ref="ERROR_FILE" />
  239. </root>
  240. </springProfile>
  241. <!-- 政府测试环境 -->
  242. <springProfile name="prod_in">
  243. <root level="info">
  244. <appender-ref ref="CONSOLE" />
  245. <appender-ref ref="INFO_FILE" />
  246. <appender-ref ref="WARN_FILE" />
  247. <appender-ref ref="ERROR_FILE" />
  248. </root>
  249. </springProfile>
  250. </configuration>