comparison 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
comparison
equal deleted inserted replaced
71:1714fd8678ef 192:f1da3afc3521
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 Name,
73 /// <param name="data">Запись журнала.</param> 73 traceContext.ThreadId,
74 /// <param name="context">Контекст трассировки от которого рассылается сообщение/</param> 74 traceContext.CurrentOperation,
75 public void LogEvent(TraceContext context,TEvent data) { 75 traceContext.CurrentOperation.Duration
76 var t = Events; 76 )
77 if (t != null) 77 );
78 t(context, new ValueEventArgs<TEvent>(data)); 78 }
79 } 79 }
80 } 80 }
81 } 81 }