logback-spring.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <springProperty scope="context" name="LOG_HOME" source="logging.path"
  4. defaultValue="serverlog"/>
  5. <!-- 日志级别 -->
  6. <springProperty scope="context" name="LOG_ROOT_LEVEL" source="logging.level.root" defaultValue="INFO"/>
  7. <!-- 标识这个"STDOUT" 将会添加到这个logger -->
  8. <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
  9. <!-- 日志文件名称-->
  10. <property name="LOG_PREFIX" value="spring-boot-logback" />
  11. <!-- 日志文件编码-->
  12. <property name="LOG_CHARSET" value="UTF-8" />
  13. <!-- 日志文件路径+日期-->
  14. <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyy-MM-dd}" />
  15. <!--对日志进行格式化-->
  16. <property name="LOG_MSG" value="- [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level] [%thread] [%logger{16}] --> %msg%n "/>
  17. <!--文件大小,默认10MB-->
  18. <property name="MAX_FILE_SIZE" value="3MB" />
  19. <!-- 配置日志的滚动时间 ,value表示保留日志的天数,0表示永久保存 -->
  20. <property name="MAX_HISTORY" value="0"/>
  21. <!-- 彩色日志 -->
  22. <!-- 彩色日志依赖的渲染类 -->
  23. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  24. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  25. <conversionRule conversionWord="wEx"
  26. converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  27. <!-- 彩色日志格式 -->
  28. <property name="CONSOLE_LOG_PATTERN"
  29. value="-[%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){blue}] [%clr(%level)] [%clr(%thread)] [%clr(%logger{16}){cyan}] %clr(-->){red} %clr(%msg%n){yellow}"/>
  30. <!--输出到控制台-->
  31. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  32. <!-- 输出的日志内容格式化-->
  33. <layout class="ch.qos.logback.classic.PatternLayout">
  34. <pattern>${CONSOLE_LOG_PATTERN}</pattern>
  35. </layout>
  36. </appender>
  37. <!--输出到文件-->
  38. <appender name="0" class="ch.qos.logback.core.rolling.RollingFileAppender">
  39. </appender>
  40. <!-- 定义 ALL 日志的输出方式:-->
  41. <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
  42. <!--日志文件路径,日志文件名称-->
  43. <File>${LOG_HOME}/all_${LOG_PREFIX}.log</File>
  44. <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
  45. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  46. <!--日志文件路径,新的 ALL 日志文件名称,“ i ” 是个变量 -->
  47. <FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%i.log</FileNamePattern>
  48. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  49. <MaxHistory>${MAX_HISTORY}</MaxHistory>
  50. <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
  51. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  52. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  53. </timeBasedFileNamingAndTriggeringPolicy>
  54. </rollingPolicy>
  55. <!-- 输出的日志内容格式化-->
  56. <layout class="ch.qos.logback.classic.PatternLayout">
  57. <pattern>${LOG_MSG}</pattern>
  58. </layout>
  59. </appender>
  60. <!-- 定义 ERROR 日志的输出方式:-->
  61. <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  62. <!-- 下面为配置只输出error级别的日志 -->
  63. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  64. <level>ERROR</level>
  65. <OnMismatch>DENY</OnMismatch>
  66. <OnMatch>ACCEPT</OnMatch>
  67. </filter>
  68. <!--日志文件路径,日志文件名称-->
  69. <File>${LOG_HOME}/err_${LOG_PREFIX}.log</File>
  70. <!-- 设置滚动策略,当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB -->
  71. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  72. <!--日志文件路径,新的 ERR 日志文件名称,“ i ” 是个变量 -->
  73. <FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%i.log</FileNamePattern>
  74. <!-- 配置日志的滚动时间 ,表示只保留最近 10 天的日志-->
  75. <MaxHistory>${MAX_HISTORY}</MaxHistory>
  76. <!--当天的日志大小超过 ${MAX_FILE_SIZE} 文件大小时候,新的内容写入新的文件, 默认10MB-->
  77. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  78. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  79. </timeBasedFileNamingAndTriggeringPolicy>
  80. </rollingPolicy>
  81. <!-- 输出的日志内容格式化-->
  82. <layout class="ch.qos.logback.classic.PatternLayout">
  83. <Pattern>${LOG_MSG}</Pattern>
  84. </layout>
  85. </appender>
  86. <!-- additivity 设为false,则logger内容不附加至root ,配置以配置包下的所有类的日志的打印,级别是 ERROR-->
  87. <logger name="org.springframework" level="ERROR" />
  88. <logger name="org.apache.commons" level="ERROR" />
  89. <!-- <logger name="th.itcenter.apps.controller.logger.LoggingController" level="WARN"/>-->
  90. <!-- ${LOG_ROOT_LEVEL} 日志级别 -->
  91. <root level="${LOG_ROOT_LEVEL}">
  92. <!-- 标识这个"${STDOUT}"将会添加到这个logger -->
  93. <appender-ref ref="${STDOUT}"/>
  94. <!-- FILE_ALL 日志输出添加到 logger -->
  95. <appender-ref ref="FILE_ALL"/>
  96. <!-- FILE_ERROR 日志输出添加到 logger -->
  97. <appender-ref ref="FILE_ERROR"/>
  98. </root>
  99. </configuration>