logback.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <!-- 日志存放路径 -->
  4. <property name="log.path" value="/home/base/logs" />
  5. <!-- <property name="log.path" value="/Users/sunhuanhuan/Documents/project/106/project/logs"/>-->
  6. <!-- 日志输出格式 -->
  7. <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
  8. <!-- 控制台输出 -->
  9. <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  10. <encoder>
  11. <pattern>${log.pattern}</pattern>
  12. </encoder>
  13. </appender>
  14. <!-- 系统日志输出 -->
  15. <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
  16. <file>${log.path}/sys-info.log</file>
  17. <!-- 循环政策:基于时间创建日志文件 -->
  18. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  19. <!-- 日志文件名格式 -->
  20. <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
  21. <!-- 日志最大的历史 60天 -->
  22. <maxHistory>60</maxHistory>
  23. </rollingPolicy>
  24. <encoder>
  25. <pattern>${log.pattern}</pattern>
  26. </encoder>
  27. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  28. <!-- 过滤的级别 -->
  29. <level>INFO</level>
  30. <!-- 匹配时的操作:接收(记录) -->
  31. <onMatch>ACCEPT</onMatch>
  32. <!-- 不匹配时的操作:拒绝(不记录) -->
  33. <onMismatch>DENY</onMismatch>
  34. </filter>
  35. </appender>
  36. <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
  37. <file>${log.path}/sys-error.log</file>
  38. <!-- 循环政策:基于时间创建日志文件 -->
  39. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  40. <!-- 日志文件名格式 -->
  41. <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
  42. <!-- 日志最大的历史 60天 -->
  43. <maxHistory>60</maxHistory>
  44. </rollingPolicy>
  45. <encoder>
  46. <pattern>${log.pattern}</pattern>
  47. </encoder>
  48. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  49. <!-- 过滤的级别 -->
  50. <level>ERROR</level>
  51. <!-- 匹配时的操作:接收(记录) -->
  52. <onMatch>ACCEPT</onMatch>
  53. <!-- 不匹配时的操作:拒绝(不记录) -->
  54. <onMismatch>DENY</onMismatch>
  55. </filter>
  56. </appender>
  57. <!-- 用户访问日志输出 -->
  58. <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
  59. <file>${log.path}/sys-user.log</file>
  60. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  61. <!-- 按天回滚 daily -->
  62. <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
  63. <!-- 日志最大的历史 60天 -->
  64. <maxHistory>60</maxHistory>
  65. </rollingPolicy>
  66. <encoder>
  67. <pattern>${log.pattern}</pattern>
  68. </encoder>
  69. </appender>
  70. <appender name="api_info_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
  71. <file>${log.path}/api_info.log</file>
  72. <!-- 循环政策:基于时间创建日志文件 -->
  73. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  74. <!-- 日志文件名格式 -->
  75. <fileNamePattern>${log.path}/api_info.%d{yyyy-MM-dd}.log</fileNamePattern>
  76. <!-- 日志最大的历史 60天 -->
  77. <maxHistory>60</maxHistory>
  78. </rollingPolicy>
  79. <encoder>
  80. <pattern>${log.pattern}</pattern>
  81. </encoder>
  82. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  83. <!-- 过滤的级别 -->
  84. <level>INFO</level>
  85. <!-- 匹配时的操作:接收(记录) -->
  86. <onMatch>ACCEPT</onMatch>
  87. <!-- 不匹配时的操作:拒绝(不记录) -->
  88. <onMismatch>DENY</onMismatch>
  89. </filter>
  90. </appender>
  91. <appender name="api_error_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
  92. <file>${log.path}/api_error.log</file>
  93. <!-- 循环政策:基于时间创建日志文件 -->
  94. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  95. <!-- 日志文件名格式 -->
  96. <fileNamePattern>${log.path}/api_error.%d{yyyy-MM-dd}.log</fileNamePattern>
  97. <!-- 日志最大的历史 60天 -->
  98. <maxHistory>60</maxHistory>
  99. </rollingPolicy>
  100. <encoder>
  101. <pattern>${log.pattern}</pattern>
  102. </encoder>
  103. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  104. <!-- 过滤的级别 -->
  105. <level>ERROR</level>
  106. <!-- 匹配时的操作:接收(记录) -->
  107. <onMatch>ACCEPT</onMatch>
  108. <!-- 不匹配时的操作:拒绝(不记录) -->
  109. <onMismatch>DENY</onMismatch>
  110. </filter>
  111. </appender>
  112. <appender name="cameraUtil_info_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
  113. <file>${log.path}/cameraUtil_info.log</file>
  114. <!-- 循环政策:基于时间创建日志文件 -->
  115. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  116. <!-- 日志文件名格式 -->
  117. <fileNamePattern>${log.path}/cameraUtil_info.%d{yyyy-MM-dd}.log</fileNamePattern>
  118. <!-- 日志最大的历史 60天 -->
  119. <maxHistory>60</maxHistory>
  120. </rollingPolicy>
  121. <encoder>
  122. <pattern>${log.pattern}</pattern>
  123. </encoder>
  124. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  125. <!-- 过滤的级别 -->
  126. <level>INFO</level>
  127. <!-- 匹配时的操作:接收(记录) -->
  128. <onMatch>ACCEPT</onMatch>
  129. <!-- 不匹配时的操作:拒绝(不记录) -->
  130. <onMismatch>DENY</onMismatch>
  131. </filter>
  132. </appender>
  133. <appender name="cameraUtil_error_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
  134. <file>${log.path}/cameraUtil_error.log</file>
  135. <!-- 循环政策:基于时间创建日志文件 -->
  136. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  137. <!-- 日志文件名格式 -->
  138. <fileNamePattern>${log.path}/cameraUtil_error.%d{yyyy-MM-dd}.log</fileNamePattern>
  139. <!-- 日志最大的历史 60天 -->
  140. <maxHistory>60</maxHistory>
  141. </rollingPolicy>
  142. <encoder>
  143. <pattern>${log.pattern}</pattern>
  144. </encoder>
  145. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  146. <!-- 过滤的级别 -->
  147. <level>ERROR</level>
  148. <!-- 匹配时的操作:接收(记录) -->
  149. <onMatch>ACCEPT</onMatch>
  150. <!-- 不匹配时的操作:拒绝(不记录) -->
  151. <onMismatch>DENY</onMismatch>
  152. </filter>
  153. </appender>
  154. <!-- 系统模块日志级别控制 -->
  155. <logger name="com.ozs" level="info" />
  156. <!-- Spring日志级别控制 -->
  157. <logger name="org.springframework" level="warn" />
  158. <root level="info">
  159. <appender-ref ref="console" />
  160. </root>
  161. <!--系统操作日志-->
  162. <root level="info">
  163. <appender-ref ref="file_info" />
  164. <appender-ref ref="file_error" />
  165. </root>
  166. <!--系统用户操作日志-->
  167. <logger name="sys-user" level="info">
  168. <appender-ref ref="sys-user"/>
  169. </logger>
  170. <logger name="com.ozs.controller.upload.GeoHazardMonitorTokenController">
  171. <!-- 引用自定义的appender -->
  172. <appender-ref ref="api_info_log"/>
  173. <appender-ref ref="api_error_log"/>
  174. <!-- 这里也引用控制台appender,才能在控制台中看到我们的日志 -->
  175. <appender-ref ref="console"/>
  176. </logger>
  177. <logger name="com.ozs.utils.CameraUtil">
  178. <!-- 引用自定义的appender -->
  179. <appender-ref ref="cameraUtil_info_log"/>
  180. <appender-ref ref="cameraUtil_error_log"/>
  181. <!-- 这里也引用控制台appender,才能在控制台中看到我们的日志 -->
  182. <appender-ref ref="console"/>
  183. </logger>
  184. </configuration>