logback-plus.xml 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="60 seconds" debug="false">
  3. <!-- 日志存放路径 -->
  4. <property name="log.path" value="logs/${project.artifactId}" />
  5. <!-- 日志输出格式 -->
  6. <property name="console.log.pattern"
  7. value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n%ex{full}"/>
  8. <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n%ex{full}"/>
  9. <!-- 控制台输出 -->
  10. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder>
  12. <pattern>${console.log.pattern}</pattern>
  13. <charset>utf-8</charset>
  14. </encoder>
  15. </appender>
  16. <appender name="file_warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
  17. <file>${log.path}/warn.log</file>
  18. <!-- 循环政策:基于时间创建日志文件 -->
  19. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  20. <!-- 日志文件名格式 -->
  21. <fileNamePattern>${log.path}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
  22. <!-- 日志最大的历史 60天 -->
  23. <maxHistory>60</maxHistory>
  24. </rollingPolicy>
  25. <encoder>
  26. <pattern>${log.pattern}</pattern>
  27. <charset>utf-8</charset>
  28. </encoder>
  29. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  30. <!-- 过滤的级别 -->
  31. <level>WARN</level>
  32. <!-- 匹配时的操作:接收(记录) -->
  33. <onMatch>ACCEPT</onMatch>
  34. <!-- 不匹配时的操作:拒绝(不记录) -->
  35. <onMismatch>DENY</onMismatch>
  36. </filter>
  37. </appender>
  38. <!-- 控制台输出 -->
  39. <appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
  40. <file>${log.path}/info.log</file>
  41. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  42. <!-- 日志文件名格式 -->
  43. <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
  44. <!-- 日志最大 1天 -->
  45. <maxHistory>60</maxHistory>
  46. </rollingPolicy>
  47. <encoder>
  48. <pattern>${log.pattern}</pattern>
  49. <charset>utf-8</charset>
  50. </encoder>
  51. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  52. <!-- 过滤的级别 -->
  53. <level>INFO</level>
  54. </filter>
  55. </appender>
  56. <!-- info异步输出 -->
  57. <appender name="async_warn" class="ch.qos.logback.classic.AsyncAppender">
  58. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  59. <discardingThreshold>0</discardingThreshold>
  60. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  61. <queueSize>512</queueSize>
  62. <!-- 添加附加的appender,最多只能添加一个 -->
  63. <appender-ref ref="file_warn"/>
  64. </appender>
  65. <appender name="async_console" class="ch.qos.logback.classic.AsyncAppender">
  66. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  67. <discardingThreshold>0</discardingThreshold>
  68. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  69. <queueSize>512</queueSize>
  70. <!-- 添加附加的appender,最多只能添加一个 -->
  71. <appender-ref ref="file_console"/>
  72. </appender>
  73. <include resource="logback-common.xml" />
  74. <include resource="logback-logstash.xml" />
  75. <!-- 开启 skywalking 日志收集 -->
  76. <include resource="logback-skylog.xml" />
  77. <!--系统操作日志-->
  78. <root level="info">
  79. <appender-ref ref="console" />
  80. <appender-ref ref="async_warn" />
  81. <appender-ref ref="async_console" />
  82. </root>
  83. </configuration>