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