排除logback日志依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <exclusions><!-- 去掉springboot默认配置 -->
  5. <exclusion>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-logging</artifactId>
  8. </exclusion>
  9. </exclusions>
  10. </dependency>

如果排除不干净,建议使用mvn dependency:tree > dependency.log ,观察还有哪些日志依赖存在,并且需要排除

引入log4j2的依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-log4j2</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.apache.logging.log4j</groupId>
  7. <artifactId>log4j-api</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.apache.logging.log4j</groupId>
  11. <artifactId>log4j-core</artifactId>
  12. </dependency>
  13. <dependency>
  14. <groupId>com.lmax</groupId>
  15. <artifactId>disruptor</artifactId>
  16. </dependency>

新增log4j2-spring.xml配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--conifguration status与monitorInterval采用默认值 -->
  3. <Configuration>
  4. <properties>
  5. <!--log root 云上改为/home/admin/logs,这里仅作为本地测试用 -->
  6. <property name="log_root">E:\ideaProjects\ZS-Insurance-customer\logs</property>
  7. <property name="app_name">insurance-customer</property>
  8. <property name="log_level">info</property>
  9. <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS},%t,%-5level,%traceId,%logger{36} - %msg%n%throwable</property>
  10. </properties>
  11. <!--定义appender -->
  12. <Appenders>
  13. <!--输出控制台的配置 -->
  14. <Console name="STDOUT-APPENDER" target="SYSTEM_OUT">
  15. <!--控制台输出日志格式-->
  16. <PatternLayout pattern="${log_pattern}" charset="UTF-8"/>
  17. </Console>
  18. <Console name="STDERR-APPENDER" target="SYSTEM_ERR">
  19. <PatternLayout pattern="${log_pattern}" charset="UTF-8"/>
  20. </Console>
  21. <GRPCLogClientAppender name="GRPC-LOG" >
  22. <PatternLayout pattern="${log_pattern}" charset="UTF-8"/>
  23. </GRPCLogClientAppender>
  24. <!--打印节点定义:错误节点日志-->
  25. <RollingFile name="ERROR-APPENDER" fileName="${log_root}/${app_name}/${app_name}-common-error.log"
  26. filePattern="${log_root}/${app_name}/${app_name}-common-error.log.%d{yyyy-MM-dd}" append="true">
  27. <PatternLayout
  28. pattern="${log_pattern}"
  29. charset="UTF-8"/>
  30. <TimeBasedTriggeringPolicy/>
  31. <DefaultRolloverStrategy>
  32. <Delete basePath="${log_root}/${app_name}">
  33. <IfFileName glob="*-common-error.log.*" />
  34. <IfLastModified age="10d" />
  35. </Delete>
  36. </DefaultRolloverStrategy>
  37. <ThresholdFilter level="ERROR"/>
  38. </RollingFile>
  39. <!--打印节点定义:业务日常节点日志-->
  40. <RollingFile name="APP-DEFAULT-APPENDER" fileName="${ctx:log_root}/${ctx:app_name}/${app_name}-app-default.log"
  41. filePattern="${log_root}/${app_name}/${app_name}-app-default.log.%d{yyyy-MM-dd}" append="true">
  42. <PatternLayout
  43. pattern="${log_pattern}"
  44. charset="UTF-8"/>
  45. <TimeBasedTriggeringPolicy/>
  46. <DefaultRolloverStrategy>
  47. <Delete basePath="${log_root}/${app_name}">
  48. <IfFileName glob="*-app-default.log.*" />
  49. <IfLastModified age="10d" />
  50. </Delete>
  51. </DefaultRolloverStrategy>
  52. </RollingFile>
  53. <!--打印节点定义:Spring日常节点日志-->
  54. <RollingFile name="SPRING-DEFAULT-APPENDER" fileName="${ctx:log_root}/${ctx:app_name}/spring-default.log"
  55. filePattern="${log_root}/${app_name}/spring-default.log.%d{yyyy-MM-dd}" append="true">
  56. <PatternLayout
  57. pattern="${log_pattern}"
  58. charset="UTF-8"/>
  59. <TimeBasedTriggeringPolicy/>
  60. <DefaultRolloverStrategy>
  61. <Delete basePath="${log_root}/${app_name}">
  62. <IfFileName glob="spring-default.log.*" />
  63. <IfLastModified age="10d" />
  64. </Delete>
  65. </DefaultRolloverStrategy>
  66. </RollingFile>
  67. <!--打印节点定义:异步任务日志-->
  68. <RollingFile name="TASK-SCHEDULER-APPENDER"
  69. fileName="${log_root}/${app_name}/${app_name}-task-scheduler.log"
  70. filePattern="${log_root}/${app_name}/${ctx:app_name}-task-scheduler.log.%d{yyyy-MM-dd}"
  71. append="true">
  72. <PatternLayout
  73. pattern="${log_pattern}"
  74. charset="UTF-8"/>
  75. <TimeBasedTriggeringPolicy/>
  76. <DefaultRolloverStrategy>
  77. <Delete basePath="${log_root}/${app_name}">
  78. <IfFileName glob="*-task-scheduler.log.*" />
  79. <IfLastModified age="10d" />
  80. </Delete>
  81. </DefaultRolloverStrategy>
  82. </RollingFile>
  83. <!--打印节点定义:消息监听日志-->
  84. <RollingFile name="MSG-LISTEN-APPENDER"
  85. fileName="${log_root}/${ctx:app_name}/${app_name}-msg-listen.log"
  86. filePattern="${log_root}/${app_name}/${app_name}-msg-listen.log.%d{yyyy-MM-dd}" append="true">
  87. <PatternLayout
  88. pattern="${log_pattern}"
  89. charset="UTF-8"/>
  90. <TimeBasedTriggeringPolicy/>
  91. <DefaultRolloverStrategy>
  92. <Delete basePath="${log_root}/${app_name}">
  93. <IfFileName glob="*-msg-listen.log.*" />
  94. <IfLastModified age="10d" />
  95. </Delete>
  96. </DefaultRolloverStrategy>
  97. </RollingFile>
  98. <!--打印节点定义:业务日志-->
  99. <RollingFile name="BUSINESS-SERVICE-APPENDER"
  100. fileName="${log_root}/${app_name}/${app_name}-business-service.log"
  101. filePattern="${log_root}/${app_name}/${app_name}-business-service.log.%d{yyyy-MM-dd}"
  102. append="true">
  103. <PatternLayout
  104. pattern="${log_pattern}"
  105. charset="UTF-8"/>
  106. <TimeBasedTriggeringPolicy/>
  107. <DefaultRolloverStrategy>
  108. <Delete basePath="${log_root}/${app_name}">
  109. <IfFileName glob="*-business-service.log.*" />
  110. <IfLastModified age="10d" />
  111. </Delete>
  112. </DefaultRolloverStrategy>
  113. </RollingFile>
  114. <!--打印节点定义:业务失败日志-->
  115. <RollingFile name="BUSINESS-ERROR-APPENDER"
  116. fileName="${log_root}/${app_name}/${app_name}-business-error.log"
  117. filePattern="${log_root}/${app_name}/${app_name}-business-error.log.%d{yyyy-MM-dd}"
  118. append="true">
  119. <PatternLayout
  120. pattern="${log_pattern}"
  121. charset="UTF-8"/>
  122. <TimeBasedTriggeringPolicy/>
  123. <DefaultRolloverStrategy>
  124. <Delete basePath="${log_root}/${app_name}">
  125. <IfFileName glob="*-business-error.log.*" />
  126. <IfLastModified age="10d" />
  127. </Delete>
  128. </DefaultRolloverStrategy>
  129. </RollingFile>
  130. <!--打印节点定义:业务摘要日志-->
  131. <RollingFile name="BUSINESS-DIGEST-APPENDER"
  132. fileName="${log_root}/${app_name}/${app_name}-business-digest.log"
  133. filePattern="${log_root}/${app_name}/${app_name}-business-digest.log.%d{yyyy-MM-dd}"
  134. append="true">
  135. <PatternLayout
  136. pattern="${log_pattern}"
  137. charset="UTF-8"/>
  138. <TimeBasedTriggeringPolicy/>
  139. <DefaultRolloverStrategy>
  140. <Delete basePath="${log_root}/${app_name}">
  141. <IfFileName glob="*-BUSINESS-digest.log.*" />
  142. <IfLastModified age="10d" />
  143. </Delete>
  144. </DefaultRolloverStrategy>
  145. </RollingFile>
  146. <!--打印节点定义:调用外部系统日志-->
  147. <RollingFile name="INTEGRATION-APPENDER"
  148. fileName="${log_root}/${app_name}/${app_name}-integration.log"
  149. filePattern="${log_root}/${app_name}/${app_name}-integration.log.%d{yyyy-MM-dd}"
  150. append="true">
  151. <PatternLayout
  152. pattern="${log_pattern}"
  153. charset="UTF-8"/>
  154. <TimeBasedTriggeringPolicy/>
  155. <DefaultRolloverStrategy>
  156. <Delete basePath="${log_root}/${app_name}">
  157. <IfFileName glob="*-integration.log.*" />
  158. <IfLastModified age="10d" />
  159. </Delete>
  160. </DefaultRolloverStrategy>
  161. </RollingFile>
  162. </Appenders>
  163. <Loggers>
  164. <Logger name="STDOUT" additivity="true" level="info">
  165. <AppenderRef ref="STDOUT-APPENDER"/>
  166. </Logger>
  167. <Logger name="STDERR" additivity="true" level="${log_level}">
  168. <AppenderRef ref="STDERR-APPENDER"/>
  169. </Logger>
  170. <Logger name="org.mybatis" additivity="true" level="${log_level}">
  171. <AppenderRef ref="SPRING-DEFAULT-APPENDER"/>
  172. <AppenderRef ref="ERROR-APPENDER"/>
  173. </Logger>
  174. <Logger name="org.springframework" additivity="true" level="${log_level}">
  175. <AppenderRef ref="SPRING-DEFAULT-APPENDER"/>
  176. <AppenderRef ref="ERROR-APPENDER"/>
  177. </Logger>
  178. <Logger name="com.isoftstone.cloud" additivity="true" level="${log_level}">
  179. <AppenderRef ref="APP-DEFAULT-APPENDER"/>
  180. <AppenderRef ref="ERROR-APPENDER"/>
  181. </Logger>
  182. <Root level="${log_level}" includeLocation="true">
  183. <AppenderRef ref="STDOUT-APPENDER"/>
  184. <AppenderRef ref="APP-DEFAULT-APPENDER"/>
  185. <AppenderRef ref="ERROR-APPENDER"/>
  186. <AppenderRef ref="GRPC-LOG"/>
  187. </Root>
  188. <Logger name="TASK-SCHEDULER" additivity="true" level="${log_level}" includeLocation="true">
  189. <AppenderRef ref="TASK-SCHEDULER-APPENDER"/>
  190. <AppenderRef ref="ERROR-APPENDER"/>
  191. </Logger>
  192. <Logger name="MSG-LISTEN" additivity="true" level="${log_level}" includeLocation="true">
  193. <AppenderRef ref="MSG-LISTEN-APPENDER"/>
  194. <AppenderRef ref="ERROR-APPENDER"/>
  195. </Logger>
  196. <Logger name="BUSINESS-SERVICE" additivity="true" level="${log_level}" includeLocation="true">
  197. <AppenderRef ref="BUSINESS-SERVICE-APPENDER"/>
  198. <AppenderRef ref="ERROR-APPENDER"/>
  199. </Logger>
  200. <Logger name="BUSINESS-ERROR" additivity="true" level="${log_level}" includeLocation="true">
  201. <AppenderRef ref="BUSINESS-ERROR-APPENDER"/>
  202. <AppenderRef ref="ERROR-APPENDER"/>
  203. </Logger>
  204. <Logger name="BUSINESS-DIGEST" additivity="true" level="${log_level}" includeLocation="true">
  205. <AppenderRef ref="BUSINESS-DIGEST-APPENDER"/>
  206. <AppenderRef ref="ERROR-APPENDER"/>
  207. </Logger>
  208. <Logger name="INTEGRATION" additivity="true" level="${log_level}" includeLocation="true">
  209. <AppenderRef ref="INTEGRATION-APPENDER"/>
  210. <AppenderRef ref="ERROR-APPENDER"/>
  211. </Logger>
  212. </Loggers>
  213. </Configuration>

${app_name}-integration.log 调用外部接口日志 INTEGRATION
${app_name}-msg-listen.log 消息监听处理日志 MSG-LISTEN
${app_name}-scheldule.log 任务调度日志 TASK-SCHEDULER
${app_name}-business-service.log 业务日志 BUSINESS-SERVICE
${app_name}-business-error.log 业务错误日志 BUSINESS-ERROR
${app_name}-business-digest.log 业务摘要日志 BUSINESS-DIGEST

日志打印方式

private  Logger logger= LoggerFactory.getLogger("DOMAIN-SERVICE");