| 
					
				 | 
			
			
				@ -10,7 +10,7 @@ import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 日志信息分析提取 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * <p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by lyr-pc on 2017/2/17. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class LogDataTransform { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -72,24 +72,31 @@ public class LogDataTransform { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("log transform begin init"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transforms.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 当前文件路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String path = LogDataTransform.class.getResource(".").getPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 当前应用类路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String rootPath = LogDataTransform.class.getResource("/").getPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            File root = new File(rootPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 日志清洗类路径 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            File fileEtl = new File(path, "transform"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 过滤日志清洗类文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            File[] files = fileEtl.listFiles((pathname) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return pathname.getName().endsWith("Transform.class"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            ClassLoader classLoader = ClassLoader.getSystemClassLoader(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (File file : files) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                // 获取类名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String className = file.getAbsolutePath() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .replace(root.getAbsolutePath() + "\\", "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .replace("\\", ".") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .replace(".class", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Class logClass = classLoader.loadClass(className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Object object = logClass.newInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (object instanceof ILogTransform) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ILogTransform logTransform = (ILogTransform) object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    transforms.put(String.valueOf(logTransform.getLogType()), logTransform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (logClass != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Object object = logClass.newInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (object instanceof ILogTransform) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        ILogTransform logTransform = (ILogTransform) object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        transforms.put(String.valueOf(logTransform.getLogType()), logTransform); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("log transform init success"); 
			 |