logback-prod.xml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="120 seconds">
  3. <property resource="application.properties" />
  4. <!-- 彩色日志 -->
  5. <!-- 彩色日志依赖的渲染类 -->
  6. <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  7. <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  8. <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  9. <!-- 彩色日志格式 -->
  10. <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
  11. <!-- appender -->
  12. <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
  13. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  14. <level>${logger.level}</level>
  15. </filter>
  16. <!-- encoder 默认配置为PatternLayoutEncoder -->
  17. <encoder>
  18. <pattern>
  19. ${CONSOLE_LOG_PATTERN}
  20. </pattern>
  21. <charset>UTF-8</charset>
  22. </encoder>
  23. </appender>
  24. <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
  25. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  26. <!--日志文件输出的文件名 -->
  27. <FileNamePattern>/www/logs/${spring.application.name}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  28. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  29. <maxFileSize>100MB</maxFileSize>
  30. </timeBasedFileNamingAndTriggeringPolicy>
  31. <!--日志文件保留天数 -->
  32. <MaxHistory>10</MaxHistory>
  33. </rollingPolicy>
  34. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  35. <pattern>
  36. %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger.%M - %m%n
  37. </pattern>
  38. <charset>UTF-8</charset>
  39. </encoder>
  40. </appender>
  41. <appender name="exceptionAdvice-log" class="ch.qos.logback.core.rolling.RollingFileAppender">
  42. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  43. <!--日志文件输出的文件名 -->
  44. <FileNamePattern>/www/logs/exceptionAdvice/exception-${spring.application.name}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  45. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  46. <maxFileSize>100MB</maxFileSize>
  47. </timeBasedFileNamingAndTriggeringPolicy>
  48. <!--日志文件保留天数 -->
  49. <MaxHistory>10</MaxHistory>
  50. </rollingPolicy>
  51. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  52. <pattern>
  53. %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger.%M - %m%n
  54. </pattern>
  55. <charset>UTF-8</charset>
  56. </encoder>
  57. </appender>
  58. <appender name="aijia-all-system" class="ch.qos.logback.core.rolling.RollingFileAppender">
  59. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  60. <!--日志文件输出的文件名 -->
  61. <FileNamePattern>/www/logs/systemlog/system-${spring.application.name}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  62. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  63. <maxFileSize>100MB</maxFileSize>
  64. </timeBasedFileNamingAndTriggeringPolicy>
  65. <!--日志文件保留天数 -->
  66. <MaxHistory>10</MaxHistory>
  67. </rollingPolicy>
  68. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  69. <pattern>
  70. %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger.%M - %m%n
  71. </pattern>
  72. <charset>UTF-8</charset>
  73. </encoder>
  74. </appender>
  75. <appender name="SOCKET" class="net.logstash.logback.appender.LogstashSocketAppender">
  76. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  77. <level>ERROR</level>
  78. </filter>
  79. <host>172.18.30.195</host>
  80. <port>9600</port>
  81. </appender>
  82. <appender name="LOGSTASHJSON"
  83. class="net.logstash.logback.appender.LogstashTcpSocketAppender">
  84. <destination>172.18.30.195:9600</destination>
  85. <queueSize>1048576</queueSize>
  86. <encoder charset="UTF-8"
  87. class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
  88. <providers>
  89. <timestamp>
  90. <timeZone>UTC</timeZone>
  91. </timestamp>
  92. <pattern>
  93. <pattern>
  94. {
  95. <!--日志级别 -->
  96. "level": "%level",
  97. <!--应用名称 -->
  98. "appName": "${spring.application.name:-}",
  99. <!--线程名称 -->
  100. "thread": "%thread",
  101. "class": "%logger{40}",
  102. <!--日志信息 -->
  103. "message": "%message" ,
  104. <!--打印时间 -->
  105. "timestamp":"%date{ISO8601}",
  106. <!--日志堆栈 -->
  107. "stack_trace": "%exception",
  108. "Phoneimei" :"%mdc{phoneimei}",
  109. "phonesys" :"%mdc{phonesys}",
  110. "phonetype" :"%mdc{phonetype}",
  111. "version" :"%mdc{version}",
  112. "platform" :"%mdc{platform}",
  113. "build" :"%mdc{build}",
  114. "apiUrl" :"%mdc{apiUrl}",
  115. "methodName" :"%mdc{methodName}",
  116. "ipAddress" :"%mdc{ipAddress}",
  117. "accessToken" :"%mdc{accessToken}",
  118. "userId" :"%mdc{userId}",
  119. "requestMap" :"%mdc{requestMap}",
  120. "apiName" :"%mdc{apiName}",
  121. "postBody" :"%mdc{postBody}"
  122. }
  123. </pattern>
  124. </pattern>
  125. </providers>
  126. </encoder>
  127. </appender>
  128. <appender name="logstash_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
  129. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  130. <!--日志文件输出的文件名 -->
  131. <FileNamePattern>/www/logs/apilog/api_log_${spring.application.name}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
  132. <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  133. <maxFileSize>100MB</maxFileSize>
  134. </timeBasedFileNamingAndTriggeringPolicy>
  135. <MaxHistory>10</MaxHistory>
  136. </rollingPolicy>
  137. <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  138. <pattern>
  139. %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger.%M - %msg%n
  140. </pattern>
  141. <charset>UTF-8</charset>
  142. </encoder>
  143. </appender>
  144. <!-- 1. 输出SQL 到控制台和文件-->
  145. <logger name="org.hibernate.SQL" additivity="false" >
  146. <level>${logger.level}</level>
  147. <appender-ref ref="file" />
  148. </logger>
  149. <!-- 2. 输出SQL 的参数到控制台和文件-->
  150. <logger name="org.hibernate.type.descriptor.sql.BasicBinder" additivity="false" level="${logger.level}" >
  151. <level>${logger.level}</level>
  152. <appender-ref ref="file" />
  153. </logger>
  154. <root level="${logger.level}" >
  155. <appender-ref ref="stdout" />
  156. <appender-ref ref="file" />
  157. </root>
  158. <logger name="com.alibaba.dubbo" level="ERROR"/>
  159. <logger name="org.apache.zookeeper.ZooKeeper" level="ERROR"/>
  160. <!-- custom logger -->
  161. <logger name="com.ssj" level="${logger.level}" additivity="false">
  162. <appender-ref ref="stdout" />
  163. <appender-ref ref="file" />
  164. </logger>
  165. <logger name="aijia" level="${logger.level}">
  166. <appender-ref ref="aijia-all-system"/>
  167. </logger>
  168. <logger name="exceptionAdvice" level="error">
  169. <appender-ref ref="exceptionAdvice-log"/>
  170. </logger>
  171. <logger name="com.ssj.framework.core.security.SecurityAspect" level="ERROR"/>
  172. <logger name="com.ssj.aijia.config.RequestApiLogInterceptor" level="error" additivity="false">
  173. <appender-ref ref="logstash_file" />
  174. <appender-ref ref="LOGSTASHJSON"/>
  175. <appender-ref ref="SOCKET"/>
  176. </logger>
  177. </configuration>