##// END OF EJS Templates
ServiceLocator: added a cleanup callback to the service registration method
ServiceLocator: added a cleanup callback to the service registration method

File last commit:

r66:790e8a997d30 default
r86:b33832ab0262 v2
Show More
TraceLog.cs
55 lines | 2.2 KiB | text/x-csharp | CSharpLexer
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);
}
}
}