diff Implab/Diagnostics/LogChannel.cs @ 192:f1da3afc3521 release v2.1

Слияние с v2
author cin
date Fri, 22 Apr 2016 13:10:34 +0300
parents 04d4c92d0f28
children d45bdf510514
line wrap: on
line diff
--- a/Implab/Diagnostics/LogChannel.cs	Wed Sep 03 18:34:02 2014 +0400
+++ b/Implab/Diagnostics/LogChannel.cs	Fri Apr 22 13:10:34 2016 +0300
@@ -27,8 +27,8 @@
         /// <summary>
         /// Событие появление новой записи в журнале, на это событие подписываются слушатели.
         /// </summary>
-        public event EventHandler<ValueEventArgs<TEvent>> Events;
-        
+        public event EventHandler<LogEventArgs<TEvent>> Events;
+
         /// <summary>
         /// Имя канала, полезно для отображения в журнале
         /// </summary>
@@ -63,19 +63,19 @@
         /// </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,
+                        Name,
+                        traceContext.ThreadId,
+                        traceContext.CurrentOperation,
+                        traceContext.CurrentOperation.Duration
+                    )
+                );
+            }
         }
     }
 }