package com.log.component; import java.util.List; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.log.core.RegistrationContainer; import com.log.model.Log; import com.log.storage.ApplicationAccessor; import com.log.storage.LogAccessor; import com.log.storage.LogIndexer; @Component public class LogComponent { private static final Logger LOGGER = Logger.getLogger(LogComponent.class); @Autowired RegistrationContainer registrationContainer; @Autowired LogAccessor logAccessor; @Autowired LogIndexer logIndexer; @Autowired ApplicationAccessor applicationAccessor; public void insertLog(Log log) { logAccessor.insertLog(log); logIndexer.indexLog(log); registrationContainer.appendLog(log); LOGGER.trace(String.format("Log inserted. Log timestamp %s", log.getDate().getTime())); // List<KpiDefinition> definitions = applicationAccessor // .getKpiDefinitions(log.getApplicationId()); // for (KpiDefinition kpiDefinition : definitions) { // checkKpiExtration(kpiDefinition, log); // } } public void insertLog(List<Log> logs) { if(logs.isEmpty()) { return; } logAccessor.insertLogs(logs); logIndexer.indexLogs(logs); registrationContainer.appendObjects(logs); LOGGER.trace(String.format("%s logs inserted.", logs.size())); // List<KpiDefinition> definitions = applicationAccessor // .getKpiDefinitions(log.getApplicationId()); // for (KpiDefinition kpiDefinition : definitions) { // checkKpiExtration(kpiDefinition, log); // } } // private void checkKpiExtration(KpiDefinition kpiDefinition, Log log) { // // if (kpiDefinition.getType() != null // && !kpiDefinition.getType().equals(log.getType())) { // return; // } // try { // Pattern p = Pattern.compile(kpiDefinition.getRegex()); // Matcher m = p.matcher(log.getData()); // if (m.find()) { // Kpi kpi = new Kpi(); // kpi.setDate(log.getDate()); // kpi.setHost(log.getHost()); // kpi.setValue(Double.parseDouble(m.group(1))); // kpi.setName(kpiDefinition.getName()); // kpi.setApplicationId(kpiDefinition.getApplicationId()); // kpi.setKpiDefinitionId(kpiDefinition.getId()); // // registrationContainer.appendLog(kpi); // } // } catch (Exception ex) { // // } // // } }