logback-spring.xml 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--debug="true" : 打印 logback 内部状态(默认当 logback 运行出错时才会打印内部状态 ), 配置该属性后打印条件如下(同时满足):
  3. 1、找到配置文件
  4. 2、配置文件是一个格式正确的xml文件 也可编程实现打印内部状态,
  5. 例如: LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory(); StatusPrinter.print(lc); -->
  6. <!-- scan="true" : 自动扫描该配置文件,若有修改则重新加载该配置文件 -->
  7. <!-- scanPeriod="30 seconds" : 配置自动扫面时间间隔
  8. (单位可以是:milliseconds, seconds, minutes or hours,默认为:milliseconds),
  9. 默认为1分钟,scan="true"时该配置才会生效 -->
  10. <!--https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd-->
  11. <configuration
  12. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  13. xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd"
  14. debug="false" scan="true" scanPeriod="30 seconds">
  15. <property name="PROJECT" value="lift-chat-8003"/>
  16. <property name="ROOT" value="logs/${PROJECT}/"/>
  17. <property name="FILE_SIZE" value="10MB"/>
  18. <property name="MAX_HISTORY" value="100"/>
  19. <property name="LOG_WIDTH" value="30"/>
  20. <timestamp key="DATETIME" datePattern="yyyy-MM-dd HH:mm"/>
  21. <!-- 控制台打印 -->
  22. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  23. <!--是否支持ANSI color codes(类似linux中的shell脚本的输出字符串颜色控制代码)。默认为false。如果设置为true。例如:[31m 代表将前景色设置成红色。-->
  24. <!--在windows中,需要提供"org.fusesource.jansi:jansi:1.9",而在linux,mac os x中默认支持。-->
  25. <withJansi>true</withJansi>
  26. <encoder charset="utf-8">
  27. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  28. <!--"%black", "%red", "%green","%yellow","%blue", "%magenta","%cyan", "%white", "%gray", "%boldRed","%boldGreen", -->
  29. <!--"%boldYellow", "%boldBlue", "%boldMagenta""%boldCyan", "%boldWhite" and "%highlight"-->
  30. <pattern>%highlight([%-5level]) %highlight(%d{${DATETIME}}) %cyan([%thread]) %boldMagenta(%logger{${LOG_WIDTH}}) - %m%n
  31. </pattern>
  32. </encoder>
  33. </appender>
  34. <!-- ERROR 输入到文件,按日期和文件大小 -->
  35. <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  36. <encoder charset="utf-8">
  37. <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
  38. </pattern>
  39. </encoder>
  40. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  41. <level>ERROR</level>
  42. <onMatch>ACCEPT</onMatch>
  43. <onMismatch>DENY</onMismatch>
  44. </filter>
  45. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  46. <fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern>
  47. <maxHistory>${MAX_HISTORY}</maxHistory>
  48. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  49. <maxFileSize>${FILE_SIZE}</maxFileSize>
  50. </timeBasedFileNamingAndTriggeringPolicy>
  51. </rollingPolicy>
  52. </appender>
  53. <!-- WARN 输入到文件,按日期和文件大小 -->
  54. <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  55. <encoder charset="utf-8">
  56. <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
  57. </pattern>
  58. </encoder>
  59. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  60. <level>WARN</level>
  61. <onMatch>ACCEPT</onMatch>
  62. <onMismatch>DENY</onMismatch>
  63. </filter>
  64. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  65. <fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern>
  66. <maxHistory>${MAX_HISTORY}</maxHistory>
  67. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  68. <maxFileSize>${FILE_SIZE}</maxFileSize>
  69. </timeBasedFileNamingAndTriggeringPolicy>
  70. </rollingPolicy>
  71. </appender>
  72. <!-- INFO 输入到文件,按日期和文件大小 -->
  73. <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  74. <encoder charset="utf-8">
  75. <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
  76. </pattern>
  77. </encoder>
  78. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  79. <level>INFO</level>
  80. <onMatch>ACCEPT</onMatch>
  81. <onMismatch>DENY</onMismatch>
  82. </filter>
  83. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  84. <fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern>
  85. <maxHistory>${MAX_HISTORY}</maxHistory>
  86. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  87. <maxFileSize>${FILE_SIZE}</maxFileSize>
  88. </timeBasedFileNamingAndTriggeringPolicy>
  89. </rollingPolicy>
  90. </appender>
  91. <!-- DEBUG 输入到文件,按日期和文件大小 -->
  92. <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  93. <encoder charset="utf-8">
  94. <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
  95. </pattern>
  96. </encoder>
  97. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  98. <level>DEBUG</level>
  99. <onMatch>ACCEPT</onMatch>
  100. <onMismatch>DENY</onMismatch>
  101. </filter>
  102. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  103. <fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern>
  104. <maxHistory>${MAX_HISTORY}</maxHistory>
  105. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  106. <maxFileSize>${FILE_SIZE}</maxFileSize>
  107. </timeBasedFileNamingAndTriggeringPolicy>
  108. </rollingPolicy>
  109. </appender>
  110. <!-- TRACE 输入到文件,按日期和文件大小 -->
  111. <appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  112. <encoder charset="utf-8">
  113. <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
  114. </pattern>
  115. </encoder>
  116. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  117. <level>TRACE</level>
  118. <onMatch>ACCEPT</onMatch>
  119. <onMismatch>DENY</onMismatch>
  120. </filter>
  121. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  122. <fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern>
  123. <maxHistory>${MAX_HISTORY}</maxHistory>
  124. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  125. <maxFileSize>${FILE_SIZE}</maxFileSize>
  126. </timeBasedFileNamingAndTriggeringPolicy>
  127. </rollingPolicy>
  128. </appender>
  129. <!-- SQL相关日志输出-->
  130. <logger name="org.apache.ibatis" level="INFO" additivity="true"/>
  131. <logger name="org.mybatis.spring" level="INFO" additivity="false"/>
  132. <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false"/>
  133. <logger name="cn.com.ty.chat.mapper" level="debug" />
  134. <!-- Logger 根目录 -->
  135. <root level="INFO">
  136. <appender-ref ref="STDOUT"/>
  137. <appender-ref ref="DEBUG"/>
  138. <appender-ref ref="ERROR"/>
  139. <appender-ref ref="WARN"/>
  140. <appender-ref ref="INFO"/>
  141. <appender-ref ref="TRACE"/>
  142. </root>
  143. </configuration>