logback.xml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 定义变量 -->
  4. <property name="LOG_HOME" value="./logs"/>
  5. <property name="APP_NAME" value="collect-fees-api"/>
  6. <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
  7. <!-- 控制台输出 -->
  8. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  9. <encoder>
  10. <pattern>${LOG_PATTERN}</pattern>
  11. <charset>UTF-8</charset>
  12. </encoder>
  13. </appender>
  14. <!-- 文件输出 - 按日滚动 -->
  15. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  16. <file>${LOG_HOME}/${APP_NAME}.log</file>
  17. <encoder>
  18. <pattern>${LOG_PATTERN}</pattern>
  19. <charset>UTF-8</charset>
  20. </encoder>
  21. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  22. <!-- 每日滚动 -->
  23. <fileNamePattern>${LOG_HOME}/${APP_NAME}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  24. <!-- 保留30天 -->
  25. <maxHistory>30</maxHistory>
  26. <!-- 单个文件最大100MB -->
  27. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  28. <maxFileSize>100MB</maxFileSize>
  29. </timeBasedFileNamingAndTriggeringPolicy>
  30. </rollingPolicy>
  31. </appender>
  32. <!-- 错误日志单独输出 -->
  33. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  34. <file>${LOG_HOME}/${APP_NAME}-error.log</file>
  35. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  36. <level>ERROR</level>
  37. <onMatch>ACCEPT</onMatch>
  38. <onMismatch>DENY</onMismatch>
  39. </filter>
  40. <encoder>
  41. <pattern>${LOG_PATTERN}</pattern>
  42. <charset>UTF-8</charset>
  43. </encoder>
  44. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  45. <fileNamePattern>${LOG_HOME}/${APP_NAME}-error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  46. <maxHistory>30</maxHistory>
  47. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  48. <maxFileSize>100MB</maxFileSize>
  49. </timeBasedFileNamingAndTriggeringPolicy>
  50. </rollingPolicy>
  51. </appender>
  52. <!-- 异步输出 -->
  53. <appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
  54. <discardingThreshold>0</discardingThreshold>
  55. <queueSize>256</queueSize>
  56. <appender-ref ref="FILE"/>
  57. </appender>
  58. <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
  59. <discardingThreshold>0</discardingThreshold>
  60. <queueSize>256</queueSize>
  61. <appender-ref ref="ERROR_FILE"/>
  62. </appender>
  63. <!-- 根日志配置 -->
  64. <root level="INFO">
  65. <appender-ref ref="CONSOLE"/>
  66. <appender-ref ref="ASYNC_FILE"/>
  67. <appender-ref ref="ASYNC_ERROR"/>
  68. </root>
  69. <!-- 特定包或类的日志级别 -->
  70. <logger name="com.tofly.feesapi" level="DEBUG"/>
  71. <logger name="org.apache.ibatis" level="DEBUG"/>
  72. <logger name="java.sql" level="DEBUG"/>
  73. <logger name="com.alibaba.nacos" level="warn"/>
  74. </configuration>