private void WriteLog(int sniffMask, TracingLevel level, Exception ex, string from, string to, string message) { // NextVersion //int repeat; //if (TracingManager.AntiRepeat && !sniffed) { // if (AntiRepeater.IsRepeated(out repeat)) { // return; // } //} else { // repeat = 1; //} //if (repeat > 1) { // message = string.Format("!!!Repeat {0} times in last 5 seconds\r\n{1}", repeat, message); //} TracingEvent evt = new TracingEvent(); evt.Level = level; evt.LoggerName = _loggerName; evt.Time = DateTime.Now; evt.Message = message; evt.ProcessInfo = ServiceEnvironment.ProcessInfo; evt.ServiceName = ServiceEnvironment.ServiceName; evt.ComputerName = ServiceEnvironment.ComputerName; evt.ThreadInfo = TracingHelper.FormatThreadInfo(Thread.CurrentThread); evt.From = from ?? ""; evt.To = to ?? ""; evt.Error = ex == null ? "" : ex.ToString(); evt.Repeat = 1; // repeat; if (sniffMask > 0) { for (int i = 0; i < TracingSniffer.MaxSniffer; i++) { if ((sniffMask & (1 << i)) > 0) { TracingSniffer sniffer = _sniffers[i]; if (sniffer != null) { sniffer.Enqueue(evt); } } } } if (evt.Level == TracingLevel.Error) { _observerItem.LastError = evt.Message; if (ex != null) { _observerItem.LastException = evt.Error; } } TracingManager.Enqueue(evt); }
public void Enqueue(TracingEvent evt) { if (!_enabled) { return; } try { _queueTracing.Enqueue(evt); } catch (Exception ex) { SystemLog.Error(LogEventID.TracingFailed, ex, "TracingSniffer.Enqueue:{0}", _url); } }
private void WriteLog(int sniffMask, TracingLevel level, Exception ex, string from, string to, string message) { // NextVersion //int repeat; //if (TracingManager.AntiRepeat && !sniffed) { // if (AntiRepeater.IsRepeated(out repeat)) { // return; // } //} else { // repeat = 1; //} //if (repeat > 1) { // message = string.Format("!!!Repeat {0} times in last 5 seconds\r\n{1}", repeat, message); //} TracingEvent evt = new TracingEvent(); evt.Level = level; evt.LoggerName = _loggerName; evt.Time = DateTime.Now; evt.Message = message; evt.ProcessInfo = ServiceEnviornment.ProcessInfo; evt.ServiceName = ServiceEnviornment.ServiceName; evt.ComputerName = ServiceEnviornment.ComputerName; evt.ThreadInfo = TracingHelper.FormatThreadInfo(Thread.CurrentThread); evt.From = from; evt.To = to; evt.Error = ex == null ? "" : ex.ToString(); evt.Repeat = 1; // repeat; if (sniffMask > 0) { for (int i = 0; i < TracingSniffer.MaxSniffer; i++) { if ((sniffMask & (1 << i)) > 0) { TracingSniffer sniffer = _sniffers[i]; if (sniffer != null) sniffer.Enqueue(evt); } } } if (evt.Level == TracingLevel.Error) { _observerItem.LastError = evt.Message; if (ex != null) _observerItem.LastException = evt.Error; } TracingManager.Enqueue(evt); }
private static void TracingDequeueAction(TracingEvent[] evts) { foreach (IAppender appender in _appenders) { try { if (!appender.Protector.Failing) { appender.AppendTracing(evts); } } catch (Exception ex) { appender.Protector.OnException(ex); SystemLog.Error(LogEventID.TracingFailed, ex, "Tracing Appender<{0}> Write Tracing Failed!", appender.Type); } } }
internal static void Enqueue(TracingEvent evt) { _queueTracing.Enqueue(evt); }