Mercurial > pub > ImplabNet
view Implab/Diagnostics/TraceEvent.cs @ 212:a01d9df88d74 v2
Added class Trace<T> to manage channels for individual classes, if SomeClass
uses Trace<SomeClass> it sould be marked with TraceSourceAttribute
author | cin |
---|---|
date | Tue, 04 Apr 2017 12:04:05 +0300 |
parents | ea485487a424 |
children | cc1baf7c8bd9 |
line wrap: on
line source
using System; namespace Implab.Diagnostics { public class TraceEvent { public string Message { get; private set; } public TraceEventType EventType { get; private set; } /// <summary> /// The logical operation this event belongs to. /// </summary> public LogicalOperation Operation { get; private set; } /// <summary> /// Gets the time offset in milliseconds from the start of the operation, if the operation is not specified the value is zero. /// </summary> public int OperationTime { get; private set; } public TraceEvent(LogicalOperation operation, TraceEventType type, string message) { EventType = type; Message = message; Operation = operation; if (operation != null) OperationTime = operation.Duration; } public override string ToString() { return Message; } public static TraceEvent Create(LogicalOperation operation, TraceEventType type, string format, params object[] args) { return new TraceEvent(operation, type, format == null ? String.Empty : String.Format(format, args)); } } }