diff Implab/Diagnostics/LogChannel.cs @ 92:4c0e5ef99986 v2

rewritten tracing
author cin
date Wed, 22 Oct 2014 18:37:56 +0400
parents d9d794b61bb9
children 04d4c92d0f28
line wrap: on
line diff
--- a/Implab/Diagnostics/LogChannel.cs	Tue Oct 14 09:30:45 2014 +0400
+++ b/Implab/Diagnostics/LogChannel.cs	Wed Oct 22 18:37:56 2014 +0400
@@ -27,8 +27,8 @@
         /// <summary>
         /// Событие появление новой записи в журнале, на это событие подписываются слушатели.
         /// </summary>
-        public event EventHandler<ValueEventArgs<TEvent>> Events;
-        
+        public event EventHandler<LogEventArgs<TEvent>> Events;
+
         /// <summary>
         /// Имя канала, полезно для отображения в журнале
         /// </summary>
@@ -63,19 +63,18 @@
         /// </remarks>
         public void LogEvent(TEvent data) {
             var t = Events;
-            if (t!= null)
-                t(TraceContext.Current,new ValueEventArgs<TEvent>(data));
-        }
-
-        /// <summary>
-        /// Отправляет запись журнала через канал подписчикам.
-        /// </summary>
-        /// <param name="data">Запись журнала.</param>
-        /// <param name="context">Контекст трассировки от которого рассылается сообщение/</param>
-        public void LogEvent(TraceContext context,TEvent data) {
-            var t = Events;
-            if (t != null)
-                t(context, new ValueEventArgs<TEvent>(data));
+            if (t != null) {
+                var traceContext = TraceContext.Instance;
+                t(
+                    this,
+                    new LogEventArgs<TEvent>(
+                        data,
+                        traceContext.ThreadId,
+                        traceContext.CurrentOperation,
+                        traceContext.CurrentOperation.Duration
+                    )
+                );
+            }
         }
     }
 }