logback-spring.xml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 日志文件输出目录 -->
  4. <!-- 支持系统属性和环境变量覆盖:LOG_FILE_PATH 和 LOG_FILE_NAME -->
  5. <property name="LOG_FILE_PATH" value="${LOG_FILE_PATH:-./logs}"/>
  6. <property name="LOG_FILE_NAME" value="${LOG_FILE_NAME:-msPayment2.0}"/>
  7. <!-- Spring Boot 默认配置 -->
  8. <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  9. <!-- 控制台输出 -->
  10. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  11. <encoder>
  12. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  13. <charset>UTF-8</charset>
  14. </encoder>
  15. </appender>
  16. <!-- 按日期滚动的文件输出 -->
  17. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  18. <!-- 当前日志文件 -->
  19. <file>${LOG_FILE_PATH}/${LOG_FILE_NAME}.log</file>
  20. <!-- 滚动策略 -->
  21. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  22. <!-- 日志文件名模式:按日期格式(yyyy-MM-dd)生成 -->
  23. <fileNamePattern>${LOG_FILE_PATH}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  24. <!-- 日志文件保留时间:30天 -->
  25. <maxHistory>30</maxHistory>
  26. <!-- 单个日志文件最大大小 -->
  27. <maxFileSize>100MB</maxFileSize>
  28. <!-- 所有日志文件的总大小限制 -->
  29. <totalSizeCap>10GB</totalSizeCap>
  30. </rollingPolicy>
  31. <encoder>
  32. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  33. <charset>UTF-8</charset>
  34. </encoder>
  35. </appender>
  36. <!-- 错误日志文件 -->
  37. <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  38. <file>${LOG_FILE_PATH}/${LOG_FILE_NAME}-error.log</file>
  39. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  40. <level>ERROR</level>
  41. <onMatch>ACCEPT</onMatch>
  42. <onMismatch>DENY</onMismatch>
  43. </filter>
  44. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  45. <fileNamePattern>${LOG_FILE_PATH}/${LOG_FILE_NAME}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  46. <maxHistory>30</maxHistory>
  47. <maxFileSize>100MB</maxFileSize>
  48. <totalSizeCap>10GB</totalSizeCap>
  49. </rollingPolicy>
  50. <encoder>
  51. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  52. <charset>UTF-8</charset>
  53. </encoder>
  54. </appender>
  55. <!-- Spring 框架日志级别 -->
  56. <logger name="org.springframework" level="INFO"/>
  57. <logger name="org.springframework.boot" level="INFO"/>
  58. <logger name="org.springframework.data" level="INFO"/>
  59. <!-- Kafka 日志级别 -->
  60. <logger name="org.apache.kafka" level="WARN"/>
  61. <!-- MongoDB 日志级别 -->
  62. <logger name="org.springframework.data.mongodb" level="DEBUG"/>
  63. <!-- 开发环境配置 -->
  64. <springProfile name="dev">
  65. <root level="DEBUG">
  66. <appender-ref ref="CONSOLE"/>
  67. <appender-ref ref="FILE"/>
  68. <appender-ref ref="ERROR_FILE"/>
  69. </root>
  70. </springProfile>
  71. <!-- 生产环境配置 -->
  72. <springProfile name="pro">
  73. <root level="INFO">
  74. <appender-ref ref="FILE"/>
  75. <appender-ref ref="ERROR_FILE"/>
  76. </root>
  77. </springProfile>
  78. <!-- 默认配置(如果没有激活 profile) -->
  79. <root level="INFO">
  80. <appender-ref ref="CONSOLE"/>
  81. <appender-ref ref="FILE"/>
  82. <appender-ref ref="ERROR_FILE"/>
  83. </root>
  84. </configuration>