logback-spring.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <springProperty scope="context" name="LOG_MAX_HISTORY" source="logging.maxHistory"/>
  4. <!-- 日志根目录-->
  5. <springProperty scope="context" name="LOG_HOME" source="logging.path"/>
  6. <!-- 日志级别 -->
  7. <springProperty scope="context" name="LOG_LEVEL" source="logging.fdkk.level" defaultValue="DEBUG"/>
  8. <!-- 标识这个"STDOUT" 将会添加到这个logger -->
  9. <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
  10. <!-- 日志文件名称-->
  11. <property name="LOG_PREFIX" value="bim"/>
  12. <!-- 日志文件编码-->
  13. <property name="LOG_CHARSET" value="UTF-8"/>
  14. <!-- 日志文件路径+日期-->
  15. <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}"/>
  16. <!--对日志进行格式化-->
  17. <!--文件大小,默认10MB-->
  18. <property name="MAX_FILE_SIZE" value="50MB"/>
  19. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  20. <property name="MAX_HISTORY" value="10"/>
  21. <!--输出到控制台-->
  22. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  23. <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
  24. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  25. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  26. <charset>utf-8</charset>
  27. </encoder>
  28. </appender>
  29. <!--输出到文件-->
  30. <appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender">
  31. </appender>
  32. <!-- 定义 ALL 日志的输出方式:-->
  33. <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
  34. <!--日志文件路径,日志文件名称-->
  35. <File>${LOG_HOME}/${LOG_PREFIX}_all.log</File>
  36. <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
  37. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  38. <!--日志文件路径,新的 ALL 日志文件名称,“ i ” 是个变量 -->
  39. <FileNamePattern>${LOG_DIR}/${LOG_PREFIX}_all%i.log</FileNamePattern>
  40. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  41. <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
  42. <cleanHistoryOnStart>true</cleanHistoryOnStart>
  43. <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
  44. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  45. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  46. </timeBasedFileNamingAndTriggeringPolicy>
  47. </rollingPolicy>
  48. <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
  49. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  50. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  51. <charset>utf-8</charset>
  52. </encoder>
  53. </appender>
  54. <!-- 定义 INFO 日志的输出方式:-->
  55. <appender name="FILE_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  56. <!-- 下面为配置只输出error级别的日志 -->
  57. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  58. <level>INFO</level>
  59. <OnMismatch>DENY</OnMismatch>
  60. <OnMatch>ACCEPT</OnMatch>
  61. </filter>
  62. <append>true</append>
  63. <!--日志文件路径,日志文件名称-->
  64. <File>${LOG_HOME}/${LOG_PREFIX}_info.log</File>
  65. <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
  66. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  67. <!--日志文件路径,新的 INFO 日志文件名称,“ i ” 是个变量 -->
  68. <FileNamePattern>${LOG_DIR}/${LOG_PREFIX}_info%i.log</FileNamePattern>
  69. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  70. <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
  71. <cleanHistoryOnStart>true</cleanHistoryOnStart>
  72. <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
  73. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  74. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  75. </timeBasedFileNamingAndTriggeringPolicy>
  76. </rollingPolicy>
  77. <!-- 输出的日志内容格式化-->
  78. <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
  79. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  80. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  81. <charset>utf-8</charset>
  82. </encoder>
  83. </appender>
  84. <!-- 定义 ERROR 日志的输出方式:-->
  85. <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  86. <!-- 下面为配置只输出error级别的日志 -->
  87. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  88. <level>ERROR</level>
  89. <OnMismatch>DENY</OnMismatch>
  90. <OnMatch>ACCEPT</OnMatch>
  91. </filter>
  92. <!--日志文件路径,日志文件名称-->
  93. <File>${LOG_HOME}/${LOG_PREFIX}_err.log</File>
  94. <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
  95. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  96. <!--日志文件路径,新的 ERR 日志文件名称,“ i ” 是个变量 -->
  97. <FileNamePattern>${LOG_DIR}/${LOG_PREFIX}_err%i.log</FileNamePattern>
  98. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  99. <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
  100. <cleanHistoryOnStart>true</cleanHistoryOnStart>
  101. <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
  102. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  103. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  104. </timeBasedFileNamingAndTriggeringPolicy>
  105. </rollingPolicy>
  106. <!-- 输出的日志内容格式化-->
  107. <encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
  108. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
  109. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  110. <charset>utf-8</charset>
  111. </encoder>
  112. </appender>
  113. <!-- additivity 设为false,则logger内容不附加至root ,配置以配置包下的所有类的日志的打印,级别是 ERROR-->
  114. <logger name="org.springframework" level="ERROR"/>
  115. <logger name="org.apache.commons" level="ERROR"/>
  116. <logger name="com.alibaba.dubbo.monitor" level="ERROR"/>
  117. <logger name="com.alibaba.dubbo.remoting" level="ERROR"/>
  118. <logger name="com.zaxxer.hikari" level="ERROR"/>
  119. <logger name="org.apache.http.impl.conn" level="ERROR"/>
  120. <logger name="com.apache.ibatis" level="${LOG_LEVEL}"/>
  121. <logger name="java.sql.Connection" level="${LOG_LEVEL}"/>
  122. <logger name="java.sql.Statement" level="${LOG_LEVEL}"/>
  123. <logger name="java.sql.PreparedStatement" level="${LOG_LEVEL}"/>
  124. <logger name="io.lettuce.core.protocol" level="ERROR"/>
  125. <logger name="io.lettuce.core" level="ERROR"/>
  126. <!-- ${LOG_ROOT_LEVEL} 日志级别 -->
  127. <root level="${LOG_ROOT_LEVEL}">
  128. <!-- 标识这个"${STDOUT}"将会添加到这个logger -->
  129. <appender-ref ref="${STDOUT}"/>
  130. <!-- FILE_ALL 日志输出添加到 logger -->
  131. <appender-ref ref="FILE_ALL"/>
  132. <!-- FILE_INFO 日志输出添加到 logger -->
  133. <appender-ref ref="FILE_INFO"/>
  134. <!-- FILE_ERROR 日志输出添加到 logger -->
  135. <appender-ref ref="FILE_ERROR"/>
  136. </root>
  137. </configuration>