logback-spring.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="300000">
  3. <jmxConfigurator/>
  4. <contextName>Integration</contextName>
  5. <!-- For Run -->
  6. <property name="root.logger.level" value="INFO"/>
  7. <property name="root.logger.error.level" value="ERROR"/>
  8. <property name="root.logger.all.level" value="DEBUG"/>
  9. <property name="log.path" value="./logs"/>
  10. <!--<property name="log.path" value="/Users/pasenger/var/log"/>-->
  11. <property name="app.name" value="integration"/>
  12. <property name="app.version" value="SNAPSHOT"/>
  13. <property name="log.file" value="${log.path}/${app.name}-${app.version}/info/${app.name}.%d{yyyyMMdd}.info.%i.log.gz"/>
  14. <property name="log.file.error" value="${log.path}/${app.name}-${app.version}/error/${app.name}.%d{yyyyMMdd}.error.%i.log.gz"/>
  15. <property name="log.file.operate" value="${log.path}/${app.name}-${app.version}/operate/${app.name}.%d{yyyyMMdd}.operate.%i.log.gz"/>
  16. <property name="log.file.all" value="${log.path}/${app.name}-${app.version}/debug/${app.name}.%d{yyyyMMdd}.debug.%i.log.gz"/>
  17. <!-- 控制台输出的日志级别 -->
  18. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  19. <encoder>
  20. <!--时间戳|应用标识|版本标识|类名方法名行号|日志级别|[请求/响应标识]|来源IP/日志详细内容-->
  21. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
  22. </encoder>
  23. </appender>
  24. <!-- 程序日志输出Info的信息 -->
  25. <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
  26. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  27. <ImmediateFlush>true</ImmediateFlush>
  28. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
  29. </encoder>
  30. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  31. <level>ERROR</level>
  32. <onMatch>DENY</onMatch> <!-- 如果命中就禁止这条日志 -->
  33. <onMismatch>ACCEPT</onMismatch> <!-- 如果没有命中就使用这条规则 -->
  34. </filter>
  35. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  36. <FileNamePattern>${log.file}</FileNamePattern>
  37. <MaxHistory>30</MaxHistory>
  38. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  39. <maxFileSize>100MB</maxFileSize>
  40. </timeBasedFileNamingAndTriggeringPolicy>
  41. </rollingPolicy>
  42. </appender>
  43. <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
  44. <queueSize>1000</queueSize>
  45. <discardingThreshold>0</discardingThreshold>
  46. <includeCallerData>false</includeCallerData>
  47. <appender-ref ref="fileAppender"/>
  48. </appender>
  49. <!-- 程序error输出的信息 -->
  50. <appender name="errorFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
  51. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  52. <ImmediateFlush>true</ImmediateFlush>
  53. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
  54. </encoder>
  55. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  56. <!--设置日志级别,过滤掉info日志,只输入error日志-->
  57. <level>ERROR</level>
  58. </filter>
  59. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  60. <FileNamePattern>${log.file.error}</FileNamePattern>
  61. <MaxHistory>60</MaxHistory>
  62. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  63. <maxFileSize>100MB</maxFileSize>
  64. </timeBasedFileNamingAndTriggeringPolicy>
  65. </rollingPolicy>
  66. </appender>
  67. <appender name="errorAsyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
  68. <queueSize>1000</queueSize>
  69. <discardingThreshold>0</discardingThreshold>
  70. <includeCallerData>false</includeCallerData>
  71. <appender-ref ref="errorFileAppender"/>
  72. </appender>
  73. <!-- 操作拦截器记录日志 -->
  74. <appender name="file.other.operate" class="ch.qos.logback.core.rolling.RollingFileAppender">
  75. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  76. <ImmediateFlush>true</ImmediateFlush>
  77. <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{56}.%method:%L -%msg%n</pattern>
  78. </encoder>
  79. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  80. <!--设置日志级别,过滤掉info日志,只输入error日志-->
  81. <level>info</level>
  82. </filter>
  83. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  84. <FileNamePattern>${log.file.operate}</FileNamePattern>
  85. <MaxHistory>60</MaxHistory>
  86. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  87. <maxFileSize>100MB</maxFileSize>
  88. </timeBasedFileNamingAndTriggeringPolicy>
  89. </rollingPolicy>
  90. </appender>
  91. <!-- 程序输出的所有信息 -->
  92. <!-- <appender name="allFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
  93. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  94. <ImmediateFlush>true</ImmediateFlush>
  95. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%logger{10}-%line|%5p|%msg%n</pattern>
  96. </encoder>
  97. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  98. <FileNamePattern>${log.file.all}</FileNamePattern>
  99. <MaxHistory>20</MaxHistory>
  100. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  101. <maxFileSize>100MB</maxFileSize>
  102. </timeBasedFileNamingAndTriggeringPolicy>
  103. </rollingPolicy>
  104. </appender>
  105. <appender name="allAsyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
  106. <queueSize>1000</queueSize>
  107. <discardingThreshold>0</discardingThreshold>
  108. <includeCallerData>false</includeCallerData>
  109. <appender-ref ref="allFileAppender"/>
  110. </appender> -->
  111. <!-- 如果要输出业务日志, 请修改为TRACE -->
  112. <logger name="org.springframework" level="ERROR"></logger>
  113. <logger name="ch.qos.logback" level="OFF"></logger>
  114. <logger name="org.hibernate" level="ERROR"></logger>
  115. <logger name="org.springframework" level="ERROR"></logger>
  116. <logger name="org.apache.catalina" level="ERROR"></logger>
  117. <logger name="org.thymeleaf" level="ERROR"></logger>
  118. <logger name="org.apache.ibatis" level="ERROR"/>
  119. <logger name="java.sql.Connection" level="ERROR"/>
  120. <logger name="java.sql.Statement" level="ERROR"/>
  121. <logger name="java.sql.PreparedStatement" level="ERROR"/>
  122. <logger name="com.tahoecn.planManagement.interceptors.OperateLogInterceptor">
  123. <level value="${root.logger.level}" />
  124. <appender-ref ref="file.other.operate" />
  125. </logger>
  126. <root level="INFO">
  127. <appender-ref ref="asyncFileAppender"/>
  128. <appender-ref ref="errorAsyncFileAppender"/>
  129. <appender-ref ref="console"/>
  130. </root>
  131. <!-- <root level="DEBUG">
  132. <appender-ref ref="allAsyncFileAppender"/>
  133. </root> -->
  134. </configuration>