logback-spring.xml 5.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
  3. <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
  4. <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
  5. 当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
  6. <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
  7. <configuration scan="true" scanPeriod="10 seconds">
  8. <contextName>logback</contextName>
  9. <springProperty scope="context" name="LOG_HOME" source="logback.file" defaultValue="log"/>
  10. <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
  11. <!-- 彩色日志依赖的渲染类 -->
  12. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  13. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  14. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  15. <!-- 彩色日志格式 -->
  16. <property name="CONSOLE_LOG_PATTERN_SW" value="${CONSOLE_LOG_PATTERN_SW:-%clr([%d{${LOG_DATEFORMAT_PATTERN:yyyy-MM-dd HH:mm:ss.SSS}}]){faint} %clr([${APP_NAME}]) %red([%tid]) %clr([${LOG_LEVEL_PATTERN:-%5p}]) %clr([${PID:- }]){magenta} %clr([%15.15t]){faint} %clr([%-40.40logger{39}]){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  17. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  18. <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
  19. <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
  20. <Pattern>${CONSOLE_LOG_PATTERN_SW}</Pattern>
  21. </layout>
  22. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  23. </encoder>
  24. </appender>
  25. <!-- 2. 输出到文件 -->
  26. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  27. <!-- 当前记录的日志文档完整路径 -->
  28. <!-- <file>${LOG_HOME}/log.log</file>-->
  29. <!--日志文档输出格式-->
  30. <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
  31. <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
  32. <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [${APP_NAME}] [%-5level] [%tid] [%t] [%logger{36}]: %msg%n</pattern>
  33. </layout>
  34. <charset>UTF-8</charset> <!-- 此处设置字符集 -->
  35. </encoder>
  36. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  37. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  38. <fileNamePattern>${LOG_HOME}/${APP_NAME}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  39. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  40. <maxFileSize>10MB</maxFileSize>
  41. </timeBasedFileNamingAndTriggeringPolicy>
  42. <!--日志文档保留天数-->
  43. <maxHistory>30</maxHistory>
  44. </rollingPolicy>
  45. </appender>
  46. <!--
  47. <logger>用来设置某一个包或者具体的某一个类的日志打印级别、
  48. 以及指定<appender>。<logger>仅有一个name属性,
  49. 一个可选的level和一个可选的 addtivity 属性。
  50. name:用来指定受此logger约束的某一个包或者具体的某一个类。
  51. level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
  52. 还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。
  53. 如果未设置此属性,那么当前logger将会继承上级的级别。
  54. addtivity:是否向上级logger传递打印信息。默认是true。
  55. -->
  56. <!--
  57. root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性
  58. level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,
  59. 不能设置为INHERITED或者同义词NULL。默认是DEBUG
  60. 可以包含零个或多个元素,标识这个appender将会添加到这个logger。
  61. -->
  62. <!-- 开发环境输出至控制台 -->
  63. <springProfile name="dev">
  64. <logger name="com.dk.oauth.mapper" level="TRACE"/>
  65. <root level="INFO">
  66. <appender-ref ref="CONSOLE" />
  67. </root>
  68. </springProfile>
  69. <!-- 非开发环境输出至文件 -->
  70. <springProfile name="!(dev)">
  71. <!--todo 将mybatis-plus的sql记录的日志文件 注意name需修改mapper包名 level=DEBUG:打印语句 TRACE:打印结果 -->
  72. <logger name="com.dk.oauth.mapper" level="TRACE"/>
  73. <root level="INFO">
  74. <appender-ref ref="FILE" />
  75. </root>
  76. </springProfile>
  77. </configuration>