logback.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 项目名称 -->
  4. <property name="PROJECT_NAME" value="demo2" />
  5. <!-- 文件输出格式 -->
  6. <property name="PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
  7. <!-- 输出文件路径 -->
  8. <property name="OPEN_FILE_PATH" value="/mnt/prd/integration/tongzi/logs "/>
  9. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  10. <encoder>
  11. <pattern>${PATTERN}</pattern>
  12. <!-- <charset>UTF-8</charset>-->
  13. </encoder>
  14. </appender>
  15. <!-- ch.qos.logback.core.rolling.RollingFileAppender 文件日志输出 -->
  16. <appender name="OPEN-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  17. <!--不能有这项配置!!!!!-->
  18. <!--<Encoding>UTF-8</Encoding>-->
  19. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  20. <!--日志文件输出的文件名-->
  21. <FileNamePattern>${OPEN_FILE_PATH}/all/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  22. <!--日志文件保留天数-->
  23. <MaxHistory>30</MaxHistory>
  24. <TimeBasedFileNamingAndTriggeringPolicy
  25. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  26. <!--日志文件最大的大小-->
  27. <MaxFileSize>10MB</MaxFileSize>
  28. </TimeBasedFileNamingAndTriggeringPolicy>
  29. </rollingPolicy>
  30. <layout class="ch.qos.logback.classic.PatternLayout">
  31. <pattern>${PATTERN}</pattern>
  32. </layout>
  33. </appender>
  34. <!--输出到debug-->
  35. <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
  36. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  37. <FileNamePattern>${OPEN_FILE_PATH}/debug/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  38. <MaxHistory>30</MaxHistory>
  39. <TimeBasedFileNamingAndTriggeringPolicy
  40. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  41. <MaxFileSize>10MB</MaxFileSize>
  42. </TimeBasedFileNamingAndTriggeringPolicy>
  43. </rollingPolicy>
  44. <append>true</append>
  45. <encoder>
  46. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  47. <charset>utf-8</charset>
  48. </encoder>
  49. <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印DEBUG日志 -->
  50. <level>DEBUG</level>
  51. <onMatch>ACCEPT</onMatch>
  52. <onMismatch>DENY</onMismatch>
  53. </filter>
  54. </appender>
  55. <!--输出到info-->
  56. <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  57. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  58. <FileNamePattern>${OPEN_FILE_PATH}/info/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  59. <MaxHistory>30</MaxHistory>
  60. <TimeBasedFileNamingAndTriggeringPolicy
  61. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  62. <MaxFileSize>10MB</MaxFileSize>
  63. </TimeBasedFileNamingAndTriggeringPolicy>
  64. </rollingPolicy>
  65. <append>true</append>
  66. <encoder>
  67. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  68. <charset>utf-8</charset>
  69. </encoder>
  70. <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印INFO日志 -->
  71. <level>INFO</level>
  72. <onMatch>ACCEPT</onMatch>
  73. <onMismatch>DENY</onMismatch>
  74. </filter>
  75. </appender>
  76. <!--输出到error-->
  77. <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  78. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  79. <FileNamePattern>${OPEN_FILE_PATH}/error/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  80. <MaxHistory>30</MaxHistory>
  81. <TimeBasedFileNamingAndTriggeringPolicy
  82. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  83. <MaxFileSize>10MB</MaxFileSize>
  84. </TimeBasedFileNamingAndTriggeringPolicy>
  85. </rollingPolicy>
  86. <append>true</append>
  87. <encoder>
  88. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  89. <charset>utf-8</charset>
  90. </encoder>
  91. <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
  92. <level>ERROR</level>
  93. <onMatch>ACCEPT</onMatch>
  94. <onMismatch>DENY</onMismatch>
  95. </filter>
  96. </appender>
  97. <!--输出到warn-->
  98. <appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
  99. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  100. <FileNamePattern>${OPEN_FILE_PATH}/warn/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  101. <MaxHistory>30</MaxHistory>
  102. <TimeBasedFileNamingAndTriggeringPolicy
  103. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  104. <MaxFileSize>10MB</MaxFileSize>
  105. </TimeBasedFileNamingAndTriggeringPolicy>
  106. </rollingPolicy>
  107. <append>true</append>
  108. <encoder>
  109. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  110. <charset>utf-8</charset>
  111. </encoder>
  112. <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印WARN日志 -->
  113. <level>WARN</level>
  114. <onMatch>ACCEPT</onMatch>
  115. <onMismatch>DENY</onMismatch>
  116. </filter>
  117. </appender>
  118. <appender name="myInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
  119. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  120. <FileNamePattern>${OPEN_FILE_PATH}/myInfo/log.%d{yyyy-MM-dd}-%i.log</FileNamePattern>
  121. <MaxHistory>30</MaxHistory>
  122. <TimeBasedFileNamingAndTriggeringPolicy
  123. class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  124. <MaxFileSize>10MB</MaxFileSize>
  125. </TimeBasedFileNamingAndTriggeringPolicy>
  126. </rollingPolicy>
  127. <append>true</append>
  128. <encoder>
  129. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
  130. <charset>utf-8</charset>
  131. </encoder>
  132. <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
  133. <!-- <level>INFO</level>-->
  134. <!-- <onMatch>ACCEPT</onMatch>-->
  135. <!-- <onMismatch>DENY</onMismatch>-->
  136. <!-- </filter>-->
  137. </appender>
  138. <!-- 控制台输出日志级别 -->
  139. <root level="info">
  140. <appender-ref ref="STDOUT"/>
  141. <appender-ref ref="OPEN-FILE"/>
  142. <appender-ref ref="debug" />
  143. <appender-ref ref="info" />
  144. <appender-ref ref="error" />
  145. <appender-ref ref="warn" />
  146. </root>
  147. <!-- 指定项目中某个包,一把为执行sql的mapper包,当有日志操作行为时的日志记录级别DEBUG -->
  148. <!-- 级别依次为从高到低:FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
  149. <logger name="com.example.demo.dao" level="DEBUG">
  150. <appender-ref ref="myInfo" />
  151. </logger>
  152. <logger name="com.example.demo.controller" level="info">
  153. <appender-ref ref="myInfo" />
  154. </logger>
  155. </configuration>