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 }