Mercurial > pub > ImplabNet
comparison Implab/Diagnostics/TextListenerBase.cs @ 47:b181f7bcb259 interactive logger
refactoring, interactive tarce log almost complete
author | cin |
---|---|
date | Thu, 17 Apr 2014 18:49:36 +0400 |
parents | 7c2369f580b8 |
children | d9d794b61bb9 |
comparison
equal
deleted
inserted
replaced
46:9ce97b262a7a | 47:b181f7bcb259 |
---|---|
87 subscription(); | 87 subscription(); |
88 m_subscriptions.Clear(); | 88 m_subscriptions.Clear(); |
89 } | 89 } |
90 } | 90 } |
91 | 91 |
92 /// <summary> | |
93 /// Вызывается для записи текста сообщения, в журнал. | |
94 /// </summary> | |
95 /// <remarks> | |
96 /// Данный метод может вызваться из разных потоков одновременно. Возможна ситуация, когда | |
97 /// данный метод вызывается уже после освобождения ообъекта методом <see cref="Dispose()"/>. | |
98 /// </remarks> | |
99 /// <param name="context">Контекст трассировки.</param> | |
100 /// <param name="text">Текст сообщения.</param> | |
92 protected abstract void WriteEntry(TraceContext context, EventText text); | 101 protected abstract void WriteEntry(TraceContext context, EventText text); |
93 | 102 |
94 public EventText Format(TraceContext context, object data) { | 103 public EventText Format(TraceContext context, object data) { |
95 return new EventText { | 104 return new EventText { |
96 indent = context.CurrentOperation.Level, | 105 indent = context.CurrentOperation.Level, |
108 content = data.ToString() | 117 content = data.ToString() |
109 }; | 118 }; |
110 } | 119 } |
111 | 120 |
112 protected override void Dispose(bool disposing) { | 121 protected override void Dispose(bool disposing) { |
122 base.Dispose(disposing); | |
113 if (disposing) { | 123 if (disposing) { |
114 UnsubscribeAll(); | 124 UnsubscribeAll(); |
115 } | 125 } |
116 base.Dispose(disposing); | |
117 } | 126 } |
118 } | 127 } |
119 } | 128 } |