protected virtual void On上报工程日志(M上报工程日志 obj) { var handler = _上报工程日志; if (handler != null) { handler(obj); } }
public void 新增工程日志(M上报工程日志 __日志) { var __缓存 = new Dictionary <IPEndPoint, M过滤工程日志>(_工程日志过滤); var __匹配 = new List <IPEndPoint>(); foreach (var __kv in __缓存) { var __条件 = __kv.Value; if (!string.IsNullOrEmpty(__条件.边界类型) && __条件.边界类型 != __日志.边界类型) { continue; } if (!string.IsNullOrEmpty(__条件.边界标识) && __条件.边界标识 != __日志.边界标识) { continue; } if (!string.IsNullOrEmpty(__条件.方向) && __条件.方向 != __日志.方向) { continue; } if (!string.IsNullOrEmpty(__条件.业务标识) && __条件.业务标识 != __日志.业务标识) { continue; } if (__条件.重要性.HasValue && __条件.重要性 > __日志.重要性) { continue; } if (__条件.关键字 != null && __条件.关键字.Count > 0 && ( __条件.关键字.All(q => !__日志.描述.Contains(q)) || __条件.关键字.All(q => !__日志.业务标识.Contains(q)) || __条件.关键字.All(q => !__日志.边界类型.Contains(q)) || __条件.关键字.All(q => !__日志.边界标识.Contains(q)) || (__日志.业务标签 != null && __日志.业务标签.Count > 0 && __条件.关键字.All(q => !__日志.业务标签.Contains(q))) )) { continue; } if (__条件.业务类型 != null && __条件.业务类型.Count > 0 && __条件.业务类型.All(q => __日志.业务类型 != q)) { continue; } if (__条件.业务标签 != null && __条件.业务标签.Count > 0 && __条件.业务标签.All(q => __日志.业务标签.Contains(q))) { continue; } __匹配.Add(__kv.Key); } if (__匹配.Count > 0) { _IT服务端.触发事件(_对象名称, "上报工程日志", new Dictionary <string, string> { { "事件参数", HJSON.序列化(__日志) } }, __匹配); } }