LogAppender.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.fdkk.sxz.logging;
  2. import ch.qos.logback.classic.spi.ILoggingEvent;
  3. import ch.qos.logback.core.ConsoleAppender;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.fdkk.sxz.util.DateUtil;
  6. import org.slf4j.MDC;
  7. import org.springframework.stereotype.Component;
  8. @Component
  9. public class LogAppender extends ConsoleAppender<ILoggingEvent> {
  10. @Override
  11. protected void append(ILoggingEvent eventObject) {
  12. MDC.get("TRACE_ID");
  13. String TRACE_ID = "";
  14. if (eventObject.getMDCPropertyMap() != null) {
  15. TRACE_ID = eventObject.getMDCPropertyMap().get("TRACE_ID");
  16. }
  17. String message = eventObject.getMessage();
  18. if (eventObject.getMessage().contains("::")) {
  19. message = eventObject.getMessage().split("::")[0];
  20. }
  21. Log log = new Log(eventObject.getLoggerName(), eventObject.getFormattedMessage(), eventObject.getThreadName(), DateUtil.convert2CST(eventObject.getTimeStamp()),
  22. eventObject.getLevel().toString(),
  23. TRACE_ID, message);
  24. //添加到阻塞队列
  25. if (!log.getMessage().contains("/logging/") &&
  26. !log.getMessage().contains("/webjars/") &&
  27. !log.getLoggerName().contains("LogMapper") &&
  28. !log.getMessage().contains("error") &&
  29. !log.getMessage().contains("precache") &&
  30. !log.getMessage().contains("robots.txt") &&
  31. !log.getMessage().contains("swagger") &&
  32. !log.getMessage().contains("favicon") &&
  33. !log.getMessage().contains("worker.js") &&
  34. !log.getLoggerName().contains("HikariDataSource") &&
  35. !log.getLoggerName().contains("IModelHandelStepMapper") &&
  36. !log.getLoggerName().contains("tb_model_handel_step") && StrUtil.isNotEmpty(TRACE_ID)) {
  37. DataContext.tempLogQueue.add(log);
  38. }
  39. }
  40. }