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

rewritten tracing
author cin
date Wed, 22 Oct 2014 18:37:56 +0400
parents d9d794b61bb9
children 04d4c92d0f28
comparison
equal deleted inserted replaced
91:cdaaf4792c22 92:4c0e5ef99986
25 } 25 }
26 26
27 /// <summary> 27 /// <summary>
28 /// Событие появление новой записи в журнале, на это событие подписываются слушатели. 28 /// Событие появление новой записи в журнале, на это событие подписываются слушатели.
29 /// </summary> 29 /// </summary>
30 public event EventHandler<ValueEventArgs<TEvent>> Events; 30 public event EventHandler<LogEventArgs<TEvent>> Events;
31 31
32 /// <summary> 32 /// <summary>
33 /// Имя канала, полезно для отображения в журнале 33 /// Имя канала, полезно для отображения в журнале
34 /// </summary> 34 /// </summary>
35 public string Name { 35 public string Name {
36 get; 36 get;
61 /// <remarks> 61 /// <remarks>
62 /// Контекст трассировки от которого рассылается сообщение определяется автоматически из текущего потока. 62 /// Контекст трассировки от которого рассылается сообщение определяется автоматически из текущего потока.
63 /// </remarks> 63 /// </remarks>
64 public void LogEvent(TEvent data) { 64 public void LogEvent(TEvent data) {
65 var t = Events; 65 var t = Events;
66 if (t!= null) 66 if (t != null) {
67 t(TraceContext.Current,new ValueEventArgs<TEvent>(data)); 67 var traceContext = TraceContext.Instance;
68 } 68 t(
69 69 this,
70 /// <summary> 70 new LogEventArgs<TEvent>(
71 /// Отправляет запись журнала через канал подписчикам. 71 data,
72 /// </summary> 72 traceContext.ThreadId,
73 /// <param name="data">Запись журнала.</param> 73 traceContext.CurrentOperation,
74 /// <param name="context">Контекст трассировки от которого рассылается сообщение/</param> 74 traceContext.CurrentOperation.Duration
75 public void LogEvent(TraceContext context,TEvent data) { 75 )
76 var t = Events; 76 );
77 if (t != null) 77 }
78 t(context, new ValueEventArgs<TEvent>(data));
79 } 78 }
80 } 79 }
81 } 80 }