logback-spring.xml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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-push"/>
  16. <property name="ROOT" value="logs/${PROJECT}/"/>
  17. <property name="FILE_SIZE" value="10MB"/>
  18. <property name="MAX_HISTORY" value="100"/>
  19. <property name="PATTERN" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%thread] %logger{30} - %m%n" />
  20. <!-- 控制台打印 -->
  21. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  22. <!--是否支持ANSI color codes(类似linux中的shell脚本的输出字符串颜色控制代码)。默认为false。如果设置为true。例如:[31m 代表将前景色设置成红色。-->
  23. <!--在windows中,需要提供"org.fusesource.jansi:jansi:1.9",而在linux,mac os x中默认支持。-->
  24. <!--<withJansi>true</withJansi>-->
  25. <encoder charset="utf-8">
  26. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  27. <!--"%black", "%red", "%green","%yellow","%blue", "%magenta","%cyan", "%white", "%gray", "%boldRed","%boldGreen", -->
  28. <!--"%boldYellow", "%boldBlue", "%boldMagenta""%boldCyan", "%boldWhite" and "%highlight"-->
  29. <pattern>%highlight([%-5level]) %highlight(%d{yyyy-MM-dd HH:mm:ss}) %cyan([%thread]) %boldMagenta(%logger{30}) - %m%n
  30. </pattern>
  31. </encoder>
  32. </appender>
  33. <!-- ERROR 输入到文件,按日期和文件大小 -->
  34. <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  35. <encoder charset="utf-8">
  36. <pattern>${PATTERN}</pattern>
  37. </encoder>
  38. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  39. <level>ERROR</level>
  40. <onMatch>ACCEPT</onMatch>
  41. <onMismatch>DENY</onMismatch>
  42. </filter>
  43. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  44. <fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern>
  45. <maxHistory>${MAX_HISTORY}</maxHistory>
  46. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  47. <maxFileSize>${FILE_SIZE}</maxFileSize>
  48. </timeBasedFileNamingAndTriggeringPolicy>
  49. </rollingPolicy>
  50. </appender>
  51. <!-- WARN 输入到文件,按日期和文件大小 -->
  52. <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  53. <encoder charset="utf-8">
  54. <pattern>${PATTERN}</pattern>
  55. </encoder>
  56. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  57. <level>WARN</level>
  58. <onMatch>ACCEPT</onMatch>
  59. <onMismatch>DENY</onMismatch>
  60. </filter>
  61. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  62. <fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern>
  63. <maxHistory>${MAX_HISTORY}</maxHistory>
  64. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  65. <maxFileSize>${FILE_SIZE}</maxFileSize>
  66. </timeBasedFileNamingAndTriggeringPolicy>
  67. </rollingPolicy>
  68. </appender>
  69. <!-- INFO 输入到文件,按日期和文件大小 -->
  70. <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  71. <encoder charset="utf-8">
  72. <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{30} - %m%n</pattern>
  73. </encoder>
  74. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  75. <level>INFO</level>
  76. <onMatch>ACCEPT</onMatch>
  77. <onMismatch>DENY</onMismatch>
  78. </filter>
  79. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  80. <fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern>
  81. <maxHistory>${MAX_HISTORY}</maxHistory>
  82. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  83. <maxFileSize>${FILE_SIZE}</maxFileSize>
  84. </timeBasedFileNamingAndTriggeringPolicy>
  85. </rollingPolicy>
  86. </appender>
  87. <!-- DEBUG 输入到文件,按日期和文件大小 -->
  88. <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  89. <encoder charset="utf-8">
  90. <pattern>${PATTERN}</pattern>
  91. </encoder>
  92. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  93. <level>DEBUG</level>
  94. <onMatch>ACCEPT</onMatch>
  95. <onMismatch>DENY</onMismatch>
  96. </filter>
  97. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  98. <fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern>
  99. <maxHistory>${MAX_HISTORY}</maxHistory>
  100. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  101. <maxFileSize>${FILE_SIZE}</maxFileSize>
  102. </timeBasedFileNamingAndTriggeringPolicy>
  103. </rollingPolicy>
  104. </appender>
  105. <!-- TRACE 输入到文件,按日期和文件大小 -->
  106. <appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  107. <encoder charset="utf-8">
  108. <pattern>${PATTERN}</pattern>
  109. </encoder>
  110. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  111. <level>TRACE</level>
  112. <onMatch>ACCEPT</onMatch>
  113. <onMismatch>DENY</onMismatch>
  114. </filter>
  115. <rollingPolicy
  116. class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  117. <fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern>
  118. <maxHistory>${MAX_HISTORY}</maxHistory>
  119. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  120. <maxFileSize>${FILE_SIZE}</maxFileSize>
  121. </timeBasedFileNamingAndTriggeringPolicy>
  122. </rollingPolicy>
  123. </appender>
  124. <!-- SQL相关日志输出-->
  125. <logger name="org.apache.ibatis" level="INFO" additivity="true"/>
  126. <logger name="org.mybatis.spring" level="INFO" additivity="false"/>
  127. <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false"/>
  128. <!-- Logger 根目录 -->
  129. <root level="INFO">
  130. <appender-ref ref="STDOUT"/>
  131. <appender-ref ref="DEBUG"/>
  132. <appender-ref ref="ERROR"/>
  133. <appender-ref ref="WARN"/>
  134. <appender-ref ref="INFO"/>
  135. <appender-ref ref="TRACE"/>
  136. </root>
  137. </configuration>