##// END OF EJS Templates
fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.
fixed promise chaining behavior, the error handler doesn't handle result or cancellation handlers exceptions these exceptions are propagated to the next handlers.

File last commit:

r195:ea485487a424 v2
r196:40d7fed4a09e default
Show More
TraceLog.cs
50 lines | 2.0 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.Instance.StartLogicalOperation();
}
[Conditional("TRACE")]
public static void StartLogicalOperation(string name) {
TraceContext.Instance.StartLogicalOperation(name);
}
[Conditional("TRACE")]
public static void EndLogicalOperation() {
TraceContext.Instance.EndLogicalOperation();
}
[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);
}
}
}