Authored by liangyi.chen@yoho.cn

添加日志组件

@@ -23,6 +23,8 @@ public abstract class AbstractMqListener<T> implements MessageListener { @@ -23,6 +23,8 @@ public abstract class AbstractMqListener<T> implements MessageListener {
23 23
24 private final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); 24 private final Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName());
25 25
  26 + private final Logger DataCheckLogger = LoggerFactory.getLogger("DATA_CHECKERROR_LOG");
  27 +
26 /** 28 /**
27 * 这里是多线程的,同表共享一个Map 29 * 这里是多线程的,同表共享一个Map
28 */ 30 */
@@ -110,12 +112,12 @@ public abstract class AbstractMqListener<T> implements MessageListener { @@ -110,12 +112,12 @@ public abstract class AbstractMqListener<T> implements MessageListener {
110 // 参数检测,不满足条件,隔一分钟再检查一次 112 // 参数检测,不满足条件,隔一分钟再检查一次
111 Object checkResult = this.checkData(object, messageJsonObject.getAction()); 113 Object checkResult = this.checkData(object, messageJsonObject.getAction());
112 if (checkResult == null) { 114 if (checkResult == null) {
113 - logger.info("checkData fail, wait 60s ......"); 115 + DataCheckLogger.warn("checkData fail, wait 60s ......");
114 TimeUnit.SECONDS.sleep(60); 116 TimeUnit.SECONDS.sleep(60);
115 } 117 }
116 checkResult = this.checkData(object, messageJsonObject.getAction()); 118 checkResult = this.checkData(object, messageJsonObject.getAction());
117 if (checkResult == null) { 119 if (checkResult == null) {
118 - logger.error("checkData fail, direct return ......, data is [{}]", messageJsonObject); 120 + DataCheckLogger.error("checkData fail, direct return ......, data is [{}]", messageJsonObject);
119 return; 121 return;
120 } 122 }
121 123
@@ -12,3 +12,6 @@ spring: @@ -12,3 +12,6 @@ spring:
12 username: yh_test 12 username: yh_test
13 password: 9nm0icOwt6bMHjMusIfMLw== 13 password: 9nm0icOwt6bMHjMusIfMLw==
14 driver-class-name: com.mysql.jdbc.Driver 14 driver-class-name: com.mysql.jdbc.Driver
  15 +
  16 +logging:
  17 + config: classpath:logback-boot.xml
@@ -12,3 +12,6 @@ spring: @@ -12,3 +12,6 @@ spring:
12 username: yh_test 12 username: yh_test
13 password: 9nm0icOwt6bMHjMusIfMLw== 13 password: 9nm0icOwt6bMHjMusIfMLw==
14 driver-class-name: com.mysql.jdbc.Driver 14 driver-class-name: com.mysql.jdbc.Driver
  15 +
  16 +logging:
  17 + config: classpath:logback-boot.xml
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +
  3 +<!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
  4 +<!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 -->
  5 +<!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志-->
  6 +
  7 +
  8 +<!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
  9 + debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
  10 +<configuration scan="true" scanPeriod="60 seconds" debug="false">
  11 + <!-- 日志最大的历史 7天 -->
  12 + <property name="maxHistory" value="7"/>
  13 + <!-- 日志最大的文件大小 10MB-->
  14 + <property name="maxFileSize" value="10MB"/>
  15 + <!-- 彩色日志 -->
  16 + <!-- 彩色日志依赖的渲染类 -->
  17 + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
  18 + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
  19 + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
  20 + <!-- 彩色日志格式 -->
  21 + <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}}"/>
  22 +
  23 + <!-- ConsoleAppender 控制台输出日志 -->
  24 + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  25 + <!-- 对日志进行格式化 -->
  26 + <encoder>
  27 + <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  28 + <!-- 设置字符集 -->
  29 + <charset>UTF-8</charset>
  30 + </encoder>
  31 + </appender>
  32 +
  33 + <!-- INFO级别日志 appender -->
  34 + <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  35 + <!-- 过滤器,过滤掉 TRACE 和 DEBUG 级别的日志 -->
  36 + <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  37 + <level>INFO</level>
  38 + </filter>
  39 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  40 + <!-- 按天回滚 daily -->
  41 + <fileNamePattern>/Data/logs/yoho-datasync-producer/%d{yyyy-MM-dd}/info-log.log</fileNamePattern>
  42 + <!-- 日志最大的保存天数 -->
  43 + <maxHistory>${maxHistory}</maxHistory>
  44 + </rollingPolicy>
  45 + <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  46 + <maxFileSize>${maxFileSize}</maxFileSize>
  47 + </triggeringPolicy>
  48 + <encoder>
  49 + <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  50 + <!-- 设置字符集 -->
  51 + <charset>UTF-8</charset>
  52 + </encoder>
  53 + </appender>
  54 +
  55 + <!-- WARN级别日志 appender -->
  56 + <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  57 + <!-- 过滤器,过滤掉 TRACE 和 DEBUG 和 INFO 级别的日志 -->
  58 + <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  59 + <level>WARN</level>
  60 + </filter>
  61 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  62 + <!-- 按天回滚 daily -->
  63 + <fileNamePattern>/Data/logs/yoho-datasync-producer/%d{yyyy-MM-dd}/warn-log.log</fileNamePattern>
  64 + <!-- 日志最大的保存天数 -->
  65 + <maxHistory>${maxHistory}</maxHistory>
  66 + </rollingPolicy>
  67 + <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  68 + <maxFileSize>${maxFileSize}</maxFileSize>
  69 + </triggeringPolicy>
  70 + <encoder>
  71 + <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  72 + <!-- 设置字符集 -->
  73 + <charset>UTF-8</charset>
  74 + </encoder>
  75 + </appender>
  76 +
  77 + <!-- root级别 DEBUG -->
  78 + <root level="INFO">
  79 + <!-- 控制台输出 -->
  80 + <appender-ref ref="STDOUT" />
  81 + <!-- 文件输出 -->
  82 + <appender-ref ref="INFO" />
  83 + <appender-ref ref="WARN" />
  84 + </root>
  85 +
  86 +</configuration>