logback-spring.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="10 seconds">
  3. <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  4. <springProperty scope="context" name="SPRING_APP_NAME" source="spring.application.name" />
  5. <springProperty scope="context" name="LOGGER_ROOT_LEVEL" source="logger.root.level" />
  6. <springProperty scope="context" name="LOGGER_ROOT_PATH" source="logger.root.path" />
  7. <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】,,, -->
  8. <!-- appender是configuration的子节点,是负责写日志的组件。 -->
  9. <!-- ConsoleAppender:把日志输出到控制台 -->
  10. <logger name="org.springframework" level="INFO" />
  11. <logger name="com.alibaba" level="INFO" />
  12. <logger name="org.apache" level="INFO" />
  13. <logger name="org.hibernate" level="INFO" />
  14. <logger name="springfox" level="INFO" />
  15. <logger name="com.baomidou" level="INFO" />
  16. <logger name="org.flywaydb" level="INFO" />
  17. <logger name="io.lettuce" level="INFO" />
  18. <logger name="com.zaxxer" level="INFO" />
  19. <logger name="org.ehcache" level="INFO" />
  20. <logger name="org.apache.http" level="INFO" />
  21. <property name="LOG_PATH" value="${LOGGER_ROOT_PATH}/${SPRING_APP_NAME}" />
  22. <property name="MAX_HISTORY" value="10" />
  23. <property name="MAX_FILE_SIZE" value="200MB" />
  24. <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} -%msg%n" />
  25. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  26. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  27. <pattern>%d %p (%file:%line\)- %m%n</pattern>
  28. <!-- 控制台也要使用UTF-8,不要使用GBK,否则会中文乱码 -->
  29. <charset>UTF-8</charset>
  30. </encoder>
  31. </appender>
  32. <appender name="FILE_ALL_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  33. <File>${LOG_PATH}/logger.log</File>
  34. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  35. <pattern>${LOG_PATTERN}</pattern>
  36. </encoder>
  37. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  38. <!--日志文件输出的文件名 -->
  39. <FileNamePattern>${LOG_PATH}/logger-%d{yyyyMMddHH}.log.%i</FileNamePattern>
  40. <!--日志文件保留天数 -->
  41. <MaxHistory>${MAX_HISTORY}</MaxHistory>
  42. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  43. </rollingPolicy>
  44. </appender>
  45. <!--日志文件配置error -->
  46. <appender name="FILE_ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  47. <File>${LOG_PATH}/error.log</File>
  48. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  49. <level>ERROR</level>
  50. <onMatch>ACCEPT</onMatch>
  51. <onMismatch>DENY</onMismatch>
  52. </filter>
  53. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  54. <pattern>${LOG_PATTERN}</pattern>
  55. </encoder>
  56. <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
  57. <!--日志文件输出的文件名 -->
  58. <FileNamePattern>${LOG_PATH}/error-%d{yyyyMMddHH}.log.%i</FileNamePattern>
  59. <!--日志文件保留天数 -->
  60. <MaxHistory>${MAX_HISTORY}</MaxHistory>
  61. <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
  62. </rollingPolicy>
  63. </appender>
  64. <!-- 为logstash输出的JSON格式的Appender -->
  65. <!-- <appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">-->
  66. <!-- <destination>${elkLoggerUrl}</destination>-->
  67. <!-- &lt;!&ndash; 日志输出编码 &ndash;&gt;-->
  68. <!-- <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">-->
  69. <!-- <providers>-->
  70. <!-- <mdc/>-->
  71. <!-- <timestamp>-->
  72. <!-- <timeZone>UTC</timeZone>-->
  73. <!-- </timestamp>-->
  74. <!-- <pattern>-->
  75. <!-- <pattern>-->
  76. <!-- {-->
  77. <!-- "severity": "%level",-->
  78. <!-- "applicationName": "${SPRING_APP_NAME:-}",-->
  79. <!-- "requestId": "%X{requestId:-}",-->
  80. <!-- "pid": "${PID:-}",-->
  81. <!-- "thread": "%thread",-->
  82. <!-- "class": "%logger{40}",-->
  83. <!-- "message": "%message"-->
  84. <!-- }-->
  85. <!-- </pattern>-->
  86. <!-- </pattern>-->
  87. <!-- <stackTrace>-->
  88. <!-- <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">-->
  89. <!-- <maxDepthPerThrowable>50</maxDepthPerThrowable>-->
  90. <!-- <maxLength>4048</maxLength>-->
  91. <!-- <shortenedClassNameLength>50</shortenedClassNameLength>-->
  92. <!-- <exclude>^sun\.reflect\..*\.invoke</exclude>-->
  93. <!-- <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>-->
  94. <!-- <rootCauseFirst>true</rootCauseFirst>-->
  95. <!-- </throwableConverter>-->
  96. <!-- </stackTrace>-->
  97. <!-- </providers>-->
  98. <!-- </encoder>-->
  99. <!-- </appender>-->
  100. <!-- 控制台输出日志级别 -->
  101. <!-- <springProfile name="dev">-->
  102. <!-- <property name="LOG_ROOT_LEVEL" value="DEBUG"/>-->
  103. <!-- </springProfile>-->
  104. <!-- <springProfile name="prod">-->
  105. <!-- <property name="LOG_ROOT_LEVEL" value="INFO"/>-->
  106. <!-- </springProfile>-->
  107. <root level="${LOGGER_ROOT_LEVEL}">
  108. <appender-ref ref="FILE_ALL_LOG" />
  109. <appender-ref ref="FILE_ERROR_LOG" />
  110. <appender-ref ref="STDOUT" />
  111. </root>
  112. </configuration>