Mercurial > pub > ImplabNet
view Implab/Diagnostics/TraceLog.cs @ 88:c4877ae77cee v2
ServiceLocator: fixed services cleanup
author | cin |
---|---|
date | Tue, 07 Oct 2014 10:58:38 +0400 |
parents | 790e8a997d30 |
children | 4c0e5ef99986 |
line wrap: on
line source
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Implab.Diagnostics { /// <summary> /// Класс для публикации событий выполнения программы, события публикуются через <see cref="LogChannel{TraceEvent}"/>. /// Журнал трассировки отражает логический ход выполнения программы и существует всегда, поскольку тесно связан с /// контекстом трассировки. /// </summary> public static class TraceLog { [Conditional("TRACE")] public static void StartLogicalOperation() { TraceContext.Current.StartLogicalOperation(); } [Conditional("TRACE")] public static void StartLogicalOperation(string name) { TraceContext.Current.StartLogicalOperation(name); } [Conditional("TRACE")] public static void EndLogicalOperation() { TraceContext.Current.EndLogicalOperation(); } [Conditional("TRACE")] public static void BindLogicalOperationToPromise(IPromise promise) { TraceContext.Current.BindLogicalOperationToPromise(promise); } [Conditional("TRACE")] public static void TraceInformation(string format, params object[] arguments) { LogChannel<TraceEvent>.Default.LogEvent(TraceEvent.Create(TraceEventType.Information, format, arguments)); } [Conditional("TRACE")] public static void TraceWarning(string format, params object[] arguments) { LogChannel<TraceEvent>.Default.LogEvent(TraceEvent.Create(TraceEventType.Warning, format, arguments)); } [Conditional("TRACE")] public static void TraceError(string format, params object[] arguments) { LogChannel<TraceEvent>.Default.LogEvent(TraceEvent.Create(TraceEventType.Error, format, arguments)); } [Conditional("TRACE")] public static void TraceError(Exception err) { TraceError("{0}", err); } } }