logback-spring.xml 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <configuration scan="true" scanPeriod="60 seconds" debug="false">
  3. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
  4. <conversionRule conversionWord="wex"
  5. converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
  6. <conversionRule conversionWord="wEx"
  7. converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
  8. <property name="CONSOLE_LOG_PATTERN"
  9. 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}}"/>
  10. <property name="FILE_LOG_PATTERN"
  11. value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  12. <springProperty scope="context" name="application.name" source="spring.application.name"
  13. defaultValue="znyun"/>
  14. <springProperty scope="context" name="logging.path" source="logging.file.path"
  15. defaultValue="logs"/>
  16. <springProperty scope="context" name="logging.file.max-size" source="logging.logback.rollingpolicy.max-file-size"
  17. defaultValue="10MB"/>
  18. <springProperty scope="context" name="logging.file.max-history" source="logging.logback.rollingpolicy.max-history"
  19. defaultValue="30"/>
  20. <contextName>${application.name}</contextName>
  21. <springProfile name="dev,prod">
  22. <!--输出到控制台-->
  23. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  24. <encoder>
  25. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  26. </encoder>
  27. </appender>
  28. <root level="info">
  29. <appender-ref ref="console"/>
  30. </root>
  31. </springProfile>
  32. <springProfile name="dev,test,prod">
  33. <!--输出到文件-->
  34. <appender name="file-info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  35. <!-- 正在记录的日志文件的路径及文件名 -->
  36. <file>${logging.path}/info/${application.name}-info.log</file>
  37. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  38. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  39. <!-- 每天日志归档路径以及格式 -->
  40. <fileNamePattern>${logging.path}/info/${application.name}-info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  41. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  42. <maxFileSize>${logging.file.max-size}</maxFileSize>
  43. </timeBasedFileNamingAndTriggeringPolicy>
  44. <!--只保留最近n天的日志-->
  45. <maxHistory>${logging.file.max-history}</maxHistory>
  46. </rollingPolicy>
  47. <!-- 追加方式记录日志 -->
  48. <append>true</append>
  49. <encoder>
  50. <pattern>${FILE_LOG_PATTERN}</pattern>
  51. </encoder>
  52. </appender>
  53. <appender name="file-warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
  54. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  55. <level>warn</level>
  56. <onMatch>ACCEPT</onMatch>
  57. <onMismatch>DENY</onMismatch>
  58. </filter>
  59. <!-- 正在记录的日志文件的路径及文件名 -->
  60. <file>${logging.path}/warn/${application.name}-warn.log</file>
  61. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  62. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  63. <!-- 每天日志归档路径以及格式 -->
  64. <fileNamePattern>${logging.path}$/warn/${application.name}-warn.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  65. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  66. <maxFileSize>${logging.file.max-size}</maxFileSize>
  67. </timeBasedFileNamingAndTriggeringPolicy>
  68. <!--只保留最近n天的日志-->
  69. <maxHistory>${logging.file.max-history}</maxHistory>
  70. </rollingPolicy>
  71. <encoder>
  72. <pattern>${FILE_LOG_PATTERN}</pattern>
  73. </encoder>
  74. </appender>
  75. <appender name="file-error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  76. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  77. <level>error</level>
  78. <onMatch>ACCEPT</onMatch>
  79. <onMismatch>DENY</onMismatch>
  80. </filter>
  81. <!-- 正在记录的日志文件的路径及文件名 -->
  82. <file>${logging.path}/error/${application.name}-error.log</file>
  83. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  84. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  85. <!-- 每天日志归档路径以及格式 -->
  86. <fileNamePattern>${logging.path}/error/${application.name}-error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  87. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  88. <maxFileSize>${logging.file.max-size}</maxFileSize>
  89. </timeBasedFileNamingAndTriggeringPolicy>
  90. <!--只保留最近n天的日志-->
  91. <maxHistory>${logging.file.max-history}</maxHistory>
  92. </rollingPolicy>
  93. <encoder>
  94. <pattern>${FILE_LOG_PATTERN}</pattern>
  95. </encoder>
  96. </appender>
  97. <!-- 用户访问日志输出 -->
  98. <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
  99. <file>${logging.path}/user/sys-user.log</file>
  100. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  101. <!-- 按天回滚 daily -->
  102. <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
  103. <fileNamePattern>${logging.path}$/user/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
  104. <!--只保留最近n天的日志-->
  105. <maxHistory>${logging.file.max-history}</maxHistory>
  106. </rollingPolicy>
  107. <encoder>
  108. <pattern>${FILE_LOG_PATTERN}</pattern>
  109. </encoder>
  110. </appender>
  111. <root level="INFO">
  112. <appender-ref ref="file-info"/>
  113. <appender-ref ref="file-warn"/>
  114. <appender-ref ref="file-error"/>
  115. </root>
  116. <!--系统用户操作日志-->
  117. <logger name="sys-user" level="info">
  118. <appender-ref ref="sys-user"/>
  119. </logger>
  120. </springProfile>
  121. </configuration>