TraceEvent.cs
47 lines
| 1.4 KiB
| text/x-csharp
|
CSharpLexer
cin
|
r36 | using System; | ||
namespace Implab.Diagnostics { | ||||
public class TraceEvent { | ||||
public string Message { | ||||
get; | ||||
private set; | ||||
} | ||||
public TraceEventType EventType { | ||||
get; | ||||
private set; | ||||
} | ||||
cin
|
r195 | /// <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) { | ||||
cin
|
r36 | EventType = type; | ||
Message = message; | ||||
cin
|
r195 | Operation = operation; | ||
if (operation != null) | ||||
OperationTime = operation.Duration; | ||||
cin
|
r36 | } | ||
cin
|
r40 | public override string ToString() { | ||
cin
|
r133 | return Message; | ||
cin
|
r40 | } | ||
cin
|
r195 | public static TraceEvent Create(LogicalOperation operation, TraceEventType type, string format, params object[] args) { | ||
cin
|
r219 | return new TraceEvent(operation, type, format == null ? String.Empty : args == null || args.Length == 0 ? format : String.Format(format, args)); | ||
cin
|
r36 | } | ||
} | ||||
} | ||||