logback-spring.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true">
  3. <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
  4. <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, -->
  5. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  6. <encoder>
  7. <!--<pattern>%d %p (%file:%line\)- %m%n</pattern>-->
  8. <!--格式化输出:%d:表示日期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:日志消息 %n:是换行符-->
  9. <pattern>1-%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n</pattern>
  10. <charset>UTF-8</charset>
  11. </encoder>
  12. </appender>
  13. <!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
  14. <contextName>Envir-Framework</contextName>
  15. <property name="LOG_PATH" value=".logs"/>
  16. <!--设置系统日志目录-->
  17. <property name="APPDIR" value="app"/>
  18. <!--
  19. 说明:
  20. 1、日志级别及文件
  21. 日志记录采用分级记录,级别与日志文件名相对应,不同级别的日志信息记录到不同的日志文件中
  22. 例如:error级别记录到log_error_xxx.log或log_error.log(该文件为当前记录的日志文件),而log_error_xxx.log为归档日志,
  23. 日志文件按日期记录,同一天内,若日志文件大小等于或大于2M,则按0、1、2...顺序分别命名
  24. 例如log-level-2013-12-21.0.log
  25. 其它级别的日志也是如此。
  26. 2、文件路径
  27. 若开发、测试用,在Eclipse中运行项目,则到Eclipse的安装路径查找logs文件夹,以相对路径../logs。
  28. 若部署到Tomcat下,则在Tomcat下的logs文件中
  29. 3、Appender
  30. FILEERROR对应error级别,文件名以log-error-xxx.log形式命名
  31. FILEWARN对应warn级别,文件名以log-warn-xxx.log形式命名
  32. FILEINFO对应info级别,文件名以log-info-xxx.log形式命名
  33. FILEDEBUG对应debug级别,文件名以log-debug-xxx.log形式命名
  34. CONSOLE将日志信息输出到控制上,为方便开发测试使用
  35. -->
  36. <!-- 日志记录器,日期滚动记录 -->
  37. <appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  38. <!-- 正在记录的日志文件的路径及文件名 -->
  39. <file>${LOG_PATH}/${APPDIR}/log_error.log</file>
  40. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  41. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  42. <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  43. 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  44. <fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  45. <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,
  46. 命名日志文件,例如log-error-2013-12-21.0.log -->
  47. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  48. <maxFileSize>2MB</maxFileSize>
  49. </timeBasedFileNamingAndTriggeringPolicy>
  50. </rollingPolicy>
  51. <!-- 追加方式记录日志 -->
  52. <append>true</append>
  53. <!-- 日志文件的格式 -->
  54. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  55. <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
  56. <charset>utf-8</charset>
  57. </encoder>
  58. <!-- 此日志文件只记录info级别的 -->
  59. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  60. <level>error</level>
  61. <onMatch>ACCEPT</onMatch>
  62. <onMismatch>DENY</onMismatch>
  63. </filter>
  64. </appender>
  65. <!-- 日志记录器,日期滚动记录 -->
  66. <appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  67. <!-- 正在记录的日志文件的路径及文件名 -->
  68. <file>${LOG_PATH}/${APPDIR}/log_warn.log</file>
  69. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  70. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  71. <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  72. 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  73. <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  74. <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,
  75. 命名日志文件,例如log-error-2013-12-21.0.log -->
  76. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  77. <maxFileSize>2MB</maxFileSize>
  78. </timeBasedFileNamingAndTriggeringPolicy>
  79. </rollingPolicy>
  80. <!-- 追加方式记录日志 -->
  81. <append>true</append>
  82. <!-- 日志文件的格式 -->
  83. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  84. <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
  85. <charset>utf-8</charset>
  86. </encoder>
  87. <!-- 此日志文件只记录info级别的 -->
  88. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  89. <level>warn</level>
  90. <onMatch>ACCEPT</onMatch>
  91. <onMismatch>DENY</onMismatch>
  92. </filter>
  93. </appender>
  94. <!-- 日志记录器,日期滚动记录 -->
  95. <appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  96. <!-- 正在记录的日志文件的路径及文件名 -->
  97. <file>${LOG_PATH}/${APPDIR}/log_info.log</file>
  98. <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  99. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  100. <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
  101. 而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
  102. <fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  103. <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,
  104. 命名日志文件,例如log-error-2013-12-21.0.log -->
  105. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  106. <maxFileSize>2MB</maxFileSize>
  107. </timeBasedFileNamingAndTriggeringPolicy>
  108. </rollingPolicy>
  109. <!-- 追加方式记录日志 -->
  110. <append>true</append>
  111. <!-- 日志文件的格式 -->
  112. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  113. <pattern>===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
  114. <charset>utf-8</charset>
  115. </encoder>
  116. <!-- 此日志文件只记录info级别的 -->
  117. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  118. <level>info</level>
  119. <onMatch>ACCEPT</onMatch>
  120. <onMismatch>DENY</onMismatch>
  121. </filter>
  122. </appender>
  123. <!--日志异步到数据库 -->
  124. <!--<appender name="DBAPPENDER" class="ch.qos.logback.classic.db.DBAppender">-->
  125. <!--<connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">-->
  126. <!--<dataSource class="com.zaxxer.hikari.HikariDataSource">-->
  127. <!--<driverClassName>com.mysql.jdbc.Driver</driverClassName>-->
  128. <!--<jdbcUrl>jdbc:mysql://localhost:3306/albedo-new?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false</jdbcUrl>-->
  129. <!--<username>root</username>-->
  130. <!--<password>123456</password>-->
  131. <!--<poolName>HikariPool-logback</poolName>-->
  132. <!--</dataSource>-->
  133. <!--</connectionSource>-->
  134. <!--&lt;!&ndash; 此日志文件只记录info级别的 &ndash;&gt;-->
  135. <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
  136. <!--<level>warn</level>-->
  137. <!--<onMatch>ACCEPT</onMatch>-->
  138. <!--<onMismatch>DENY</onMismatch>-->
  139. <!--</filter>-->
  140. <!--&lt;!&ndash; 此日志文件只记录info级别的 &ndash;&gt;-->
  141. <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
  142. <!--<level>error</level>-->
  143. <!--<onMatch>ACCEPT</onMatch>-->
  144. <!--<onMismatch>DENY</onMismatch>-->
  145. <!--</filter>-->
  146. <!--</appender>-->
  147. <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  148. <encoder>
  149. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
  150. </encoder>
  151. </appender>
  152. <logger name="com.minlia" level="DEBUG"/>
  153. <logger name="org.springframework.data.mybatis" level="DEBUG"/>
  154. <logger name="org.springframework.aop.aspectj" level="ERROR"/>
  155. <logger name="javax.activation" level="WARN"/>
  156. <logger name="javax.mail" level="WARN"/>
  157. <logger name="javax.xml.bind" level="WARN"/>
  158. <logger name="ch.qos.logback" level="INFO"/>
  159. <logger name="com.codahale.metrics" level="WARN"/>
  160. <logger name="com.ryantenney" level="WARN"/>
  161. <logger name="com.sun" level="WARN"/>
  162. <logger name="com.zaxxer" level="WARN"/>
  163. <logger name="io.undertow" level="WARN"/>
  164. <logger name="net.sf.ehcache" level="WARN"/>
  165. <logger name="org.apache" level="WARN"/>
  166. <logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
  167. <logger name="org.bson" level="WARN"/>
  168. <logger name="org.hibernate.validator" level="WARN"/>
  169. <logger name="org.hibernate" level="WARN"/>
  170. <logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/>
  171. <logger name="org.springframework.web" level="INFO"/>
  172. <logger name="org.springframework.security" level="WARN"/>
  173. <logger name="org.springframework.cache" level="WARN"/>
  174. <logger name="org.thymeleaf" level="WARN"/>
  175. <logger name="org.xnio" level="WARN"/>
  176. <logger name="springfox" level="WARN"/>
  177. <logger name="sun.rmi" level="WARN"/>
  178. <logger name="liquibase" level="WARN"/>
  179. <logger name="sun.rmi.transport" level="WARN"/>
  180. <logger name="jdbc.connection" level="ERROR"/>
  181. <logger name="jdbc.resultset" level="ERROR"/>
  182. <logger name="jdbc.resultsettable" level="INFO"/>
  183. <logger name="jdbc.audit" level="ERROR"/>
  184. <logger name="jdbc.sqltiming" level="ERROR"/>
  185. <logger name="jdbc.sqlonly" level="INFO"/>
  186. <!--<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">-->
  187. <!--<resetJUL>true</resetJUL>-->
  188. <!--</contextListener>-->
  189. <springProfile name="prod">
  190. <root level="DEBUG">
  191. <!--<appender-ref ref="STDOUT"/>-->
  192. <appender-ref ref="FILEERROR"/>
  193. <appender-ref ref="FILEWARN"/>
  194. <appender-ref ref="FILEINFO"/>
  195. <appender-ref ref="DBAPPENDER"/>
  196. </root>
  197. </springProfile>
  198. <springProfile name="dev">
  199. <root level="DEBUG">
  200. <appender-ref ref="CONSOLE"/>
  201. <appender-ref ref="FILEERROR"/>
  202. <appender-ref ref="FILEWARN"/>
  203. <appender-ref ref="FILEINFO"/>
  204. <!--<appender-ref ref="DBAPPENDER"/>-->
  205. </root>
  206. </springProfile>
  207. </configuration>