logback-spring.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
  4. <!-- 日志存放路径 -->
  5. <property name="log.path" value="${logPath}" />
  6. <!--0. 日志格式和颜色渲染 -->
  7. <!-- 彩色日志依赖的渲染类 -->
  8. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  9. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  10. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  11. <!-- 彩色日志格式 -->
  12. <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}}" />
  13. <!-- 日志输出格式 -->
  14. <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
  15. <!-- 控制台输出 -->
  16. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  17. <!-- 此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息 -->
  18. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  19. <level>debug</level>
  20. </filter>
  21. <encoder>
  22. <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  23. <!-- 设置字符集 -->
  24. <charset>UTF-8</charset>
  25. </encoder>
  26. </appender>
  27. <!-- 系统日志输出 -->
  28. <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  29. <file>${log.path}/sys-info.log</file>
  30. <!-- 循环政策:基于时间创建日志文件 -->
  31. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  32. <!-- 日志文件名格式 -->
  33. <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
  34. <!-- 日志最大的历史 60天 -->
  35. <maxHistory>60</maxHistory>
  36. </rollingPolicy>
  37. <encoder>
  38. <pattern>${log.pattern}</pattern>
  39. </encoder>
  40. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  41. <!-- 过滤的级别 -->
  42. <level>INFO</level>
  43. <!-- 匹配时的操作:接收(记录) -->
  44. <onMatch>ACCEPT</onMatch>
  45. <!-- 不匹配时的操作:拒绝(不记录) -->
  46. <onMismatch>DENY</onMismatch>
  47. </filter>
  48. </appender>
  49. <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  50. <file>${log.path}/sys-error.log</file>
  51. <!-- 循环政策:基于时间创建日志文件 -->
  52. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  53. <!-- 日志文件名格式 -->
  54. <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
  55. <!-- 日志最大的历史 60天 -->
  56. <maxHistory>60</maxHistory>
  57. </rollingPolicy>
  58. <encoder>
  59. <pattern>${log.pattern}</pattern>
  60. </encoder>
  61. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  62. <!-- 过滤的级别 -->
  63. <level>ERROR</level>
  64. <!-- 匹配时的操作:接收(记录) -->
  65. <onMatch>ACCEPT</onMatch>
  66. <!-- 不匹配时的操作:拒绝(不记录) -->
  67. <onMismatch>DENY</onMismatch>
  68. </filter>
  69. </appender>
  70. <!-- 用户访问日志输出 -->
  71. <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
  72. <file>${log.path}/sys-user.log</file>
  73. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  74. <!-- 按天回滚 daily -->
  75. <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
  76. <!-- 日志最大的历史 60天 -->
  77. <maxHistory>60</maxHistory>
  78. </rollingPolicy>
  79. <encoder>
  80. <pattern>${log.pattern}</pattern>
  81. </encoder>
  82. </appender>
  83. <!-- 系统模块日志级别控制 -->
  84. <logger name="com.hc" level="error" />
  85. <!-- Spring日志级别控制 -->
  86. <logger name="org.springframework" level="warn" />
  87. <root level="error">
  88. <appender-ref ref="console" />
  89. </root>
  90. <!--系统操作日志-->
  91. <root level="error">
  92. <appender-ref ref="file_info" />
  93. <appender-ref ref="file_error" />
  94. </root>
  95. <!--系统用户操作日志-->
  96. <logger name="sys-user" level="error">
  97. <appender-ref ref="sys-user"/>
  98. </logger>
  99. </configuration>