|
@ -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");
|