| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.seecoder.dataanalysis.config;
- import com.nju.edu.logTracking.LogConsumer;
- import com.seecoder.dataanalysis.data.dao.util.ParsingExceptionInfoDao;
- import com.seecoder.dataanalysis.logic.parser.LogParsingService;
- import com.seecoder.dataanalysis.logic.parser.ParsingException;
- import com.seecoder.dataanalysis.util.LoggerUtil;
- import com.seecoder.dataanalysis.vo.SimpleLog;
- import org.slf4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- @Configuration
- public class LogTrackingConfig {
- private static final Logger logger = LoggerUtil.getLogger(LogTrackingConfig.class);
- @Autowired
- LogParsingService logParsingService;
- @Autowired
- ParsingExceptionInfoDao parsingExceptionInfoDao;
- @Bean
- public void LogTrackingConfigurator() {
- //需新建LogConsumer类型的对象,实现run方法
- //run方法参数value为接收到的json格式的log,每次接收到log都会执行run方法
- LogConsumer myConsumer = new LogConsumer() {
- @Override
- public void run(String value) {
- try {
- LoggerUtil.info(logger, "get log: " + value);
- SimpleLog sl = logParsingService.parseLog(value);
- logParsingService.parseLogData(sl, true);
- } catch (ParsingException e) {
- e.printStackTrace();
- LoggerUtil.info(logger, e.toString());
- parsingExceptionInfoDao.save(e.convertToEntity());
- } catch (Exception e) {
- LoggerUtil.info(logger, e.toString());
- e.printStackTrace();
- }
- }
- };
- //需使用此函数以开启消费
- myConsumer.processLog();
- LoggerUtil.info(logger, "log tracking Start successfully");
- }
- }
|