logback.xml 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <property name="log.path" value="./logs"/>
  4. <property name="console.log.pattern"
  5. value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
  6. <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
  7. <!-- 控制台输出 -->
  8. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  9. <encoder>
  10. <pattern>${console.log.pattern}</pattern>
  11. <charset>utf-8</charset>
  12. </encoder>
  13. </appender>
  14. <!-- 控制台输出 -->
  15. <appender name="file_console" class="ch.qos.logback.core.FileAppender">
  16. <file>${log.path}/sys-console.log</file>
  17. <encoder>
  18. <pattern>${log.pattern}</pattern>
  19. <charset>utf-8</charset>
  20. </encoder>
  21. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  22. <!-- 过滤的级别 -->
  23. <level>INFO</level>
  24. </filter>
  25. </appender>
  26. <!-- 系统日志输出 -->
  27. <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  28. <file>${log.path}/sys-info.log</file>
  29. <!-- 循环政策:基于时间创建日志文件 -->
  30. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  31. <!-- 日志文件名格式 -->
  32. <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
  33. <!-- 日志最大的历史 60天 -->
  34. <maxHistory>60</maxHistory>
  35. </rollingPolicy>
  36. <encoder>
  37. <pattern>${log.pattern}</pattern>
  38. </encoder>
  39. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  40. <!-- 过滤的级别 -->
  41. <level>INFO</level>
  42. <!-- 匹配时的操作:接收(记录) -->
  43. <onMatch>ACCEPT</onMatch>
  44. <!-- 不匹配时的操作:拒绝(不记录) -->
  45. <onMismatch>DENY</onMismatch>
  46. </filter>
  47. </appender>
  48. <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  49. <file>${log.path}/sys-error.log</file>
  50. <!-- 循环政策:基于时间创建日志文件 -->
  51. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  52. <!-- 日志文件名格式 -->
  53. <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
  54. <!-- 日志最大的历史 60天 -->
  55. <maxHistory>60</maxHistory>
  56. </rollingPolicy>
  57. <encoder>
  58. <pattern>${log.pattern}</pattern>
  59. </encoder>
  60. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  61. <!-- 过滤的级别 -->
  62. <level>ERROR</level>
  63. <!-- 匹配时的操作:接收(记录) -->
  64. <onMatch>ACCEPT</onMatch>
  65. <!-- 不匹配时的操作:拒绝(不记录) -->
  66. <onMismatch>DENY</onMismatch>
  67. </filter>
  68. </appender>
  69. <!-- 用户访问日志输出 -->
  70. <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
  71. <file>${log.path}/sys-user.log</file>
  72. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  73. <!-- 按天回滚 daily -->
  74. <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
  75. <!-- 日志最大的历史 60天 -->
  76. <maxHistory>60</maxHistory>
  77. </rollingPolicy>
  78. <encoder>
  79. <pattern>${log.pattern}</pattern>
  80. </encoder>
  81. </appender>
  82. <!-- 系统模块日志级别控制 -->
  83. <logger name="com.zhongzheng" level="info" />
  84. <!-- Spring日志级别控制 -->
  85. <logger name="org.springframework" level="warn" />
  86. <root level="info">
  87. <appender-ref ref="console" />
  88. </root>
  89. <!--系统操作日志-->
  90. <root level="info">
  91. <appender-ref ref="file_info" />
  92. <appender-ref ref="file_error" />
  93. <appender-ref ref="file_console" />
  94. </root>
  95. <!--系统用户操作日志-->
  96. <logger name="sys-user" level="info">
  97. <appender-ref ref="sys-user"/>
  98. </logger>
  99. </configuration>