读取中兴3G告警log告警文件到集合
2024-10-12 21:38:21
1、文件格式
ALARM_ID=102305_404205 EVENT_TIME=-- :: NOTIFICATION_TYPE= MANAGED_OBJECT_INSTANCE=NodeId=,BssId=,BtsId=,RackId= PERCEIVED_SEVERITY= ALARM_TYPE= PROBABLE_CAUSE= SPECIFIC_PROBLEM=直流电压低于47V(RRU干结点监控) ADDITIONAL_TEXT=AlarmCode(),AlarmInfo(The subsystem No. , RRU_INFO=[RRU ID=, Alias=武隆中兴隧道RRU0_江口支局, Type=RRU])
2、创建实体类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LteAlarmAnalysis.Entities { /// <summary> /// 中兴 3G 告警Ftp下载数据实体 /// 日期 : 2016年8月16日 /// 作者 : 老郑 /// /// ALARM_ID=102301_928516 /// EVENT_TIME=2016-08-16 09:59:35 /// NOTIFICATION_TYPE=5 /// MANAGED_OBJECT_INSTANCE=NodeId=102301,BssId=0,BtsId=38,RackId=2 /// PERCEIVED_SEVERITY=6 /// ALARM_TYPE=4 /// PROBABLE_CAUSE=550 /// SPECIFIC_PROBLEM=直流电压低于51V或交流故障(RRU干结点监控) /// ADDITIONAL_TEXT=AlarmCode(1005019),AlarmInfo(The subsystem No. is 9, RRU_INFO=[RRU ID=4, Alias=万州石桥毛岭RRU_武陵支局, Type=RRU]) /// </summary> public class AlarmEntities3GZte { public string ALARM_ID { get; set; } public string EVENT_TIME { get; set; } public string NOTIFICATION_TYPE { get; set; } public string MANAGED_OBJECT_INSTANCE { get; set; } public string PERCEIVED_SEVERITY { get; set; } public string ALARM_TYPE { get; set; } public string PROBABLE_CAUSE { get; set; } public string SPECIFIC_PROBLEM { get; set; } public string ADDITIONAL_TEXT { get; set; } } }
3、数据读取到List集合
/// <summary> /// 读取告警转换为集合 /// </summary> private IList<AlarmEntities3GZte> Alarm2AlarmEntities3GZte() { IList<AlarmEntities3GZte> list = new List<AlarmEntities3GZte>(); try { TaskConfig.SpanTime = Stopwatch.StartNew(); var reAlarmFiles = Directory.GetFiles(TaskConfig.SavePath, TaskConfig.FileMatch); AlarmEntities3GZte alarm = null; ], Encoding.Default); foreach (string line in lines) { ) { alarm = new AlarmEntities3GZte(); } if (line != null && !"".Equals(line.Trim())) { alarm = Line2Property(line, alarm); } && alarm != null) { list.Add(alarm); } } WriteMessage.PrintMassage(MessageType.Success, String.Format("解析中兴告警文件成功,共解析出小区发生不同告警数据量:{0} 条,总数据量为:{1} 条,共耗时:{2}毫秒" , list.Count, list.Count, TaskConfig.SpanTime.ElapsedMilliseconds)); } catch (Exception ex) { WriteMessage.PrintMassage(MessageType.Error, String.Format("解析中兴告警文件失败,错误信息:{0}", ex)); Environment.Exit(-); } return list; } private AlarmEntities3GZte Line2Property(string line, AlarmEntities3GZte alarm) { if (alarm == null) { alarm = new AlarmEntities3GZte(); } System.Reflection.PropertyInfo[] properties = alarm.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); ) { return alarm; } foreach (System.Reflection.PropertyInfo item in properties) { string name = item.Name; object value = item.GetValue(alarm, null); ) { item.SetValue(alarm, line.Replace(name + "=", ""), null); break; } } return alarm; }
最新文章
- About_PHP_函数
- 去除表单自动填充时,-webkit浏览器默认给文本框加的黄色背景
- Android调用系统自带的设置界面
- php中的匿名函数和闭包(closure)
- 在Myeclipse中配置Maven
- AutoCAD.NET二次开发错误集锦
- UVa 11997 (优先队列 多路归并) K Smallest Sums
- 命令ls
- Lucence_Curd
- Appium python自动化测试系列之混合app实战(十一)
- LeetCode刷题笔记--Python--28. 实现strStr()
- 初学Direct X(7) ——位图的旋转,缩放以及平移
- python 十进制整数转换为任意进制(36以内)
- 【k8s】centos上安装kubernetes,报错Error:docker-ce-cli conflicts with 2:docker-1.13.1-94.gitb2f74b2.el7.centos.x86_64
- Centos crontab定时任务
- 洛谷 P2055 [ZJOI2009]假期的宿舍
- hdu 1849(巴什博弈)
- OScached页面缓存的概念和安装
- 拍拍CPS入门使用
- 常用的MySQL语句写法
热门文章
- [LeetCode]题解(python):013-Roman to Integer
- Python之路:Python 基础(二)
- 解决sqlite删除数据后,文件大小不变问题(VACUUM)
- spring bean管理 笔记1
- cocos2dx进阶学习之CCScene
- java面板设计
- poj 1731 Orders(暴力)
- STL 源代码剖析 算法 stl_algo.h -- partition
- 二分法查找 --JS 实现
- Runtime.getRuntime().exec中命令含有括号问题