logback-spring.xml 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration debug="false">
  3. <!--日志文件主目录:这里${user.home}为当前服务器用户主目录-->
  4. <property name="LOG_HOME" value="${user.home}/log"/>
  5. <!--日志文件名称:这里spring.application.name表示工程名称-->
  6. <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
  7. <!--引入默认配置-->
  8. <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
  9. <!--引入配置控制台(CONSOLE)-->
  10. <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
  11. <!--配置日志文件(File)-->
  12. <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  13. <!--设置策略-->
  14. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  15. <!--日志文件路径:这里%d{yyyyMMdd}表示按天分类日志-->
  16. <FileNamePattern>${LOG_HOME}/%d{yyyyMMdd}/${APP_NAME}.log</FileNamePattern>
  17. <!--日志保留天数-->
  18. <MaxHistory>15</MaxHistory>
  19. </rollingPolicy>
  20. <!--设置格式-->
  21. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  22. <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
  23. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
  24. <!-- 或者使用默认配置 -->
  25. <!--<pattern>${FILE_LOG_PATTERN}</pattern>-->
  26. <charset>utf8</charset>
  27. </encoder>
  28. <!--日志文件最大的大小-->
  29. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  30. <MaxFileSize>100MB</MaxFileSize>
  31. </triggeringPolicy>
  32. </appender>
  33. <!-- 将文件输出设置成异步输出 -->
  34. <appender name="ASYNC-FILE" class="ch.qos.logback.classic.AsyncAppender">
  35. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  36. <discardingThreshold>0</discardingThreshold>
  37. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  38. <queueSize>256</queueSize>
  39. <!-- 添加附加的appender,最多只能添加一个 -->
  40. <appender-ref ref="FILE"/>
  41. </appender>
  42. <!-- 将控制台输出设置成异步输出 -->
  43. <appender name="ASYNC-CONSOLE" class="ch.qos.logback.classic.AsyncAppender">
  44. <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
  45. <discardingThreshold>0</discardingThreshold>
  46. <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
  47. <queueSize>256</queueSize>
  48. <!-- 添加附加的appender,最多只能添加一个 -->
  49. <appender-ref ref="CONSOLE"/>
  50. </appender>
  51. <!-- 多环境配置 按照active profile选择分支 -->
  52. <springProfile name="local">
  53. <!--root节点 全局日志级别,用来指定最基础的日志输出级别-->
  54. <root level="INFO">
  55. <appender-ref ref="FILE"/>
  56. <appender-ref ref="CONSOLE"/>
  57. </root>
  58. <!-- 子节点向上级传递 局部日志级别-->
  59. <logger level="WARN" name="org.springframework"/>
  60. <logger level="WARN" name="com.netflix"/>
  61. <logger level="DEBUG" name="org.hibernate.SQL"/>
  62. </springProfile>
  63. <springProfile name="dev">
  64. <!--root节点 全局日志级别,用来指定最基础的日志输出级别-->
  65. <root level="INFO">
  66. <appender-ref ref="FILE"/>
  67. <appender-ref ref="CONSOLE"/>
  68. </root>
  69. <!-- 子节点向上级传递 局部日志级别-->
  70. <logger level="WARN" name="org.springframework"/>
  71. <logger level="WARN" name="com.netflix"/>
  72. <logger level="DEBUG" name="org.hibernate.SQL"/>
  73. </springProfile>
  74. <springProfile name="prod">
  75. <!--root节点 全局日志级别,用来指定最基础的日志输出级别-->
  76. <root level="INFO">
  77. <appender-ref ref="FILE"/>
  78. <appender-ref ref="CONSOLE"/>
  79. </root>
  80. <!-- 子节点向上级传递 局部日志级别-->
  81. <logger level="WARN" name="org.springframework"/>
  82. <logger level="WARN" name="com.netflix"/>
  83. <logger level="DEBUG" name="org.hibernate.SQL"/>
  84. </springProfile>
  85. </configuration>