Mercurial > pub > ImplabNet
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 } | 
