protected String GetItemType(TraceItem item) { Int32 value = item.EventType.Value; PropertyInfo pi = typeof(TraceItem).GetProperty("EventType", BindingFlags.Instance | BindingFlags.Public); PXIntListAttribute attr = (PXIntListAttribute)pi.GetCustomAttributes(typeof(PXIntListAttribute), false)[0]; return attr.ValueLabelDic[value]; }
/// <summary> /// Adds a single trace record to the store. /// </summary> /// <remarks> /// All trace records are correlated with their associated /// request GUID inside this method. /// </remarks> /// <param name="traceRecord"></param> public void AddTrace(TraceRecord traceRecord) { lock (_thisLock) { RequestTrace requestTrace; if (_requestList.Count >= _maxRequests) { requestTrace = _requestList.Last.Value; _requestList.RemoveLast(); _requestDictionary.Remove(requestTrace.Id); } if (!_requestDictionary.TryGetValue(traceRecord.RequestId.ToString(), out requestTrace)) { requestTrace = CreateRequestTrace(traceRecord); _requestDictionary[requestTrace.Id] = requestTrace; _requestList.AddFirst(requestTrace); } TraceItem traceItem = CreateTraceItem(traceRecord); requestTrace.Traces.Add(traceItem); if (traceItem.Status != 0) { requestTrace.Status = traceItem.Status; requestTrace.Reason = ((HttpStatusCode)traceItem.Status).ToString(); } } }
public void Add(TraceItem item) { lock (items) { items.Add(item); } }
/// <summary> /// Prida dalsi zaznam do kolekcia ktora caka na ulozenie do databazy /// </summary> /// <param name="time">Cas zaznamu</param> /// <param name="_traceType">Typ zaznamu</param> /// <param name="modulName">Meno modulu ktory zaznam vytvoril</param> /// <param name="message">Sprava zaznamu</param> /// <returns>True = zaznam bol uspesne pridany do kolekcie na ulozenie</returns> private Boolean AddTraceItem(DateTime time, TraceTypes traceType, String modulName, String message) { //vytvorime dalsiu strukturu zaznamu TraceItem item = new TraceItem(time, traceType, modulName, message); try { //zalogujeme aj do konzoly if (this._consoleTrace) { //zalogujeme Console.WriteLine(String.Format("[{0}] [{1}]: {2}", time.ToString("HH:mm:ss.fff"), traceType, message)); } //synchronizujeme pristup lock (this._lockObj) { //pridame dalsi zaznam this._items.Add(item); } //zaznam bol uspesne pridany return(true); } catch (Exception ex) { //interna chyba this.InternalException(ex, "Internal system error"); //zaznam sa nepodarilo pridat return(false); } }
public Task WriteAsync(TraceItem item) { if (_isDirty || _cItems == null) { if (_items == null) { return(Task.CompletedTask); } lock (_locker) { _cItems = new List <ITraceStorage>(_items); } } var tsks = _procTaskPool.New(); for (var i = 0; i < _cItems.Count; i++) { tsks.Add(InternalWriteAsync(_cItems[i], item)); } var resTask = Task.WhenAll(tsks).ContinueWith(_ => { tsks.Clear(); _procTaskPool.Store(tsks); }); return(resTask); }
/// <summary> /// 触发日志事件 /// </summary> /// <param name="item"></param> private void TriggerTrace(TraceItem item) { if (this.evtTraceTrigger != null) { evtTraceTrigger(item); } }
public static void PostAsync(TraceItem item) { if (!FailedToConnect) { PostMessage(XmlUtil.SerializeObject(item)); } }
private void Excute(TraceItem item) { Log log = item.ToLog(); if (mqttServer == null || mqttServer.IsRuning == false) { return; } PublishData data = new PublishData() { topic = this.logNewsTopic, data = log }; if (!data.ToPayLoad()) { return; } Task task = this.mqttServer.Publish(data); try { task.Wait(5000);// 外面加上超时判断,防止一条发送失败,后面一直卡死 } catch { } //JsonConvert.DeserializeObject<PumpJZ>(); }
/// <summary> /// ErrorJsonResultException 日志 /// </summary> /// <param name="ex"></param> public static void ErrorJsonResultExceptionLog(ErrorJsonResultException ex) { if (!WxConfig.IsDebug) { return; } using (var traceItem = new TraceItem(LogTrace._logEndActon, "ErrorJsonResultException")) { traceItem.Log("ErrorJsonResultException"); traceItem.Log("AccessTokenOrAppId:{0}", ex.AccessTokenOrAppId ?? "null"); traceItem.Log("URL:{0}", ex.Url); traceItem.Log("errcode:{0}", ex.JsonResult.ErrorCodeValue); traceItem.Log("errmsg:{0}", ex.JsonResult.errmsg); } if (OnWeixinExceptionFunc != null) { try { OnWeixinExceptionFunc(ex); } catch { } } }
/// <summary> /// WeixinException 日志 /// </summary> /// <param name="ex"></param> public static void WeixinExceptionLog(WeixinException ex) { if (!WxConfig.IsDebug) { return; } using (var traceItem = new TraceItem(LogTrace._logEndActon, "WeixinException")) { traceItem.Log(ex.GetType().Name); traceItem.Log("AccessTokenOrAppId:{0}", ex.AccessTokenOrAppId); traceItem.Log("Message:{0}", ex.Message); traceItem.Log("StackTrace:{0}", ex.StackTrace); if (ex.InnerException != null) { traceItem.Log("InnerException:{0}", ex.InnerException.Message); traceItem.Log("InnerException.StackTrace:{0}", ex.InnerException.StackTrace); } } if (OnWeixinExceptionFunc != null) { try { OnWeixinExceptionFunc(ex); } catch { } } }
private static void AddItem(string name, Stopwatch sw) { var traceItem = new TraceItem(name, sw.Elapsed.TotalMilliseconds); TraceItems.Add(traceItem); Debug.WriteLine("*** PERFORMANCE TRACER *** " + traceItem); }
public static void TraceAllocation(ITracableObject source) { var hashCode = source.GetHashCode(); TraceItem item = null; if (_taskSourceDict.TryGetValue(hashCode, out item)) { item.ResetTarget(source); } else { item = new TraceItem(source); _taskSourceDict.Add(hashCode, item); } if (EnableStack) { item.StackTrace = GetStackTrace(); } else { item.StackTrace = DEFAULT_EMPTY_STACK_STACE; } if (onTraceUpdate != null) { onTraceUpdate(); } }
private void Manage(TraceItem item) { // 触发该事件 if (evtTraceTrigger != null) { evtTraceTrigger(item); } }
private static void Manage(TraceItem item) { // 触发日志事件 if (TriggerTrace1 != null) { TriggerTrace1(item); } }
protected String GetItemType(TraceItem item) { Int32 value = item.EventType.Value; PropertyInfo pi = typeof(TraceItem).GetProperty("EventType", BindingFlags.Instance | BindingFlags.Public); PXIntListAttribute attr = (PXIntListAttribute)pi.GetCustomAttributes(typeof(PXIntListAttribute), false)[0]; return(attr.ValueLabelDic[value]); }
private static void Manage(TraceItem item) { //// 触发日志事件 //if (TriggerTrace1 != null) // TriggerTrace1(item); LogManager.Append(item); }
private static void Append(TraceItem item) { if (!IsRuning) { return; } Manage(item); }
public bool Execute(Node executedFromNode = null) { LastExecutionFrom = executedFromNode; // Add the node to the cycle var cycle = this.Graph.GetCurrentCycle(); TraceItem traceItem = null; if (cycle != null) { traceItem = cycle.AddExecutedNode(this); } if (this.NodeType != typeof(EntryPointNode).Name) { if (!this.CanBeExecuted) { return(false); } } //stop the execution if the state isnt started if (!(this.Graph.currentContext.currentGraphState == Enums.GraphStateEnum.STARTED)) { this.Graph.Stop(); return(false); } var startTime = DateTimeOffset.Now.ToUnixTimeMilliseconds(); this.CurrentTraceItem = traceItem; try { if (!this.OnExecution()) { return(false); } } catch (Exception ex) { logger.Error(ex, "Error on node execution"); if (this.CurrentTraceItem != null) { this.CurrentTraceItem.ExecutionException = ex; return(false); } } this.CurrentTraceItem = null; var elapsedTime = DateTimeOffset.Now.ToUnixTimeMilliseconds() - startTime; if (traceItem != null) { traceItem.ExecutionTime = elapsedTime; } return(Next()); }
private void Record(TraceItem item) { Log log = item.ToLog(); string id = Guid.NewGuid().ToString(); string sql = string.Format(@"insert into {0} (类型,信息文本,插入时间,系统名称) values ('{1}',""{2}"",""{3}"",""{4}"")", this.tableName, log.type, log.text, log.dateTime, log.serverName); this.sqLite.ExecuteNonQuery(sql); }
private void Print(Log log) { // 保证render的时间必须短。否则界面会假死 Color color = EnvChecker.GetColor(TraceItem.ToTraceItem(log).type); string mess = log.serverName + " " + DataUtil.ToDateString(log.dateTime) + " " + log.text; this.BeginInvoke(new Action(() => { Render(color, mess); })); }
private static async Task InternalWriteAsync(ITraceStorage storage, TraceItem item) { try { await storage.WriteAsync(item).ConfigureAwait(false); } catch { // } }
public async Task WriteAsync(TraceItem item) { var cItems = _cItems; var tsks = _procTaskPool.New(); for (var i = 0; i < cItems.Length; i++) { tsks.Add(InternalWriteAsync(_cItems[i], item)); } await Task.WhenAll(tsks).ConfigureAwait(false); tsks.Clear(); _procTaskPool.Store(tsks); }
private string GetName(TraceItem item) { if (item != null) { var items = item.EventDescription.Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries); if (items.Length > 1) { return(string.Format("{0}.{1}", items[0].Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(), items[1].Split(new char[] { '(' }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault())); } return(item.EventDescription); } return(string.Empty); }
public void Append(TraceItem loggerRow) { if (!IsRuning) { return; } if (queue.IsAddingCompleted) { return; } if (queue.Count > 4096) { return; } queue.Add(loggerRow); }
private void Append(TraceItem item) { if (!IsRuning) { return; } if (queue.IsAddingCompleted) { return; } if (queue.Count > 4096) { return; } queue.Add(item); }
public static void RecordDisPatchLog(TraceItem item) { if (!DisPatchRecordEnvFlag) { return; } try { SQLiteHelper sqLite = new SQLiteHelper(fileFullPath); Log log = item.ToLog(); string id = Guid.NewGuid().ToString(); string sql = string.Format(@"insert into {0} (类型,信息文本,插入时间,系统名称) values ('{1}',""{2}"",""{3}"",""{4}"")", logTableName, log.type, log.text, log.dateTime, log.serverName); sqLite.ExecuteNonQuery(sql); } catch { } }
public IActionResult Update(string id, [FromBody] TraceItem item) { if (item == null || item.ItemCode != id) { return(BadRequest()); } var traceItem = _context.TraceItem.FirstOrDefault(t => t.ItemCode == id); if (traceItem == null) { return(NotFound()); } traceItem.Note = item.Note; _context.TraceItem.Update(traceItem); _context.SaveChanges(); return(new NoContentResult()); }
private static TraceItem CreateTraceItem(TraceRecord traceRecord) { TraceItem traceItem = new TraceItem { Category = traceRecord.Category, Exception = traceRecord.Exception, Kind = traceRecord.Kind, Level = traceRecord.Level, Message = traceRecord.Message, Operator = traceRecord.Operator, Operation = traceRecord.Operation, Status = (int)traceRecord.Status, Timestamp = traceRecord.Timestamp, }; return(traceItem); }
/// <inheritdoc /> /// <summary> /// Writes a trace item to the storage /// </summary> /// <param name="item">Trace item</param> public Task WriteAsync(TraceItem item) { if (Interlocked.Increment(ref _count) < 1_000) { _traceItems.Add(new MessagingTraceItem { EnvironmentName = Core.EnvironmentName, MachineName = Core.MachineName, ApplicationName = Core.ApplicationName, InstanceId = Core.InstanceId, GroupName = item.GroupName, Id = item.Id, Tags = item.Tags, Timestamp = item.Timestamp, TraceName = item.TraceName, TraceObject = _sendCompleteTrace ? new SerializedObject(item.TraceObject) : null }); } return(Task.CompletedTask); }
private void FixLooseEnds(List <TraceItem> items) { try { var stack = new Stack <TraceItem>(); for (var i = 0; i < items.Count; i++) { if (items[i].EventType == "End") { if (stack.Count > 0) { stack.Pop(); } } else { stack.Push(items[i]); } } while (stack.Count > 0) { var startItem = stack.Pop(); var endItem = new TraceItem { EventDate = items.Max(x => x.EventDate), EventDescription = startItem.EventDescription, EventType = "End", GroupKey = startItem.GroupKey, TraceKey = startItem.TraceKey, UserKey = startItem.UserKey, IsException = startItem.IsException }; items.Add(endItem); } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
public List <TraceItem> selectDataByRRCMessage(string RRCMessage) { List <TraceItem> outputList = new List <TraceItem>(); TraceItem traceItem = new TraceItem(); try { con = new SqlCeConnection("Data Source = " + _mainDir + "/Database1.sdf; Max Database Size = 4090"); SqlCeDataAdapter sda = new SqlCeDataAdapter(); SqlCeCommand cmd = con.CreateCommand(); con.Open(); cmd.CommandText = String.Format("Select * FROM TraceDB WHERE rrcMsgName = '" + RRCMessage + "';"); sda.SelectCommand = cmd; DataTable dt = new DataTable(); sda.Fill(dt); foreach (DataRow r in dt.Rows) { traceItem.rrcMessage = (string)r[0]; traceItem.ueid = (string)r[1]; traceItem.cellID = (string)r[2]; traceItem.time = (DateTime)r[3]; outputList.Add(traceItem); } con.Close(); } catch (Exception ex) { errorMessage = ex.Message; if (con.State == ConnectionState.Open) { con.Close(); } } return(outputList); }
public void Initialise(TraceItem item) { Tag = item; }
private TraceItem DequeueAllItems() { TraceItem concatenatedItem = null; StringBuilder concatenatedMessage = new StringBuilder(); lock (this.dequeueLock) { TraceItem lastItem = null; if (this.queue.Count > 0) { while (this.queue.Count > 0) { lastItem = this.queue.Dequeue(); concatenatedMessage.AppendLine(lastItem.Message); } concatenatedItem = new TraceItem() { Message = concatenatedMessage.ToString(), Percentage = lastItem.Percentage }; } } return concatenatedItem; }
public void AddItem(string message, int percentage) { var item = new TraceItem() { Message = message, Percentage = percentage }; lock (this.dequeueLock) { this.queue.Enqueue(item); } }