Inherits: IReconfigurable, IReferenceable, ITracer
Description
The LogTracer class allows you to create a tracer that dumps recorded traces to a logger.
Configuration parameters
options:
- log_level: log level to record traces (default: debug)
References
- *:logger:*:*:1.0 - ILogger components to dump the captured counters
- *:context-info:*:*:1.0 - (optional) ContextInfo to detect the context id and specify counters source
Instance methods
BeginTrace
Begings recording an operation trace.
public
TraceTiming BeginTrace(IContext context, string component, string operation)
- context: IContext - (optional) a context to trace execution through a call chain.
- component: string - name of the called component
- operation: string - name of the executed operation.
- return: TraceTiming - trace timing object.
Configure
Configures a component by passing its configuration parameters.
public
void Configure(ConfigParams config)
- config: ConfigParams - configuration parameters to be set.
Failure
Records an operation failure with its name, duration and error
public
void Failure(IContext context, string component, string operation, Exception error, long duration)
- context: IContext - (optional) a context to trace execution through a call chain.
- component: string - name of the called component
- operation: string - name of the executed operation.
- error: Exception - error object associated with this trace.
- duration: long - execution duration in milliseconds.
SetReferences
Sets references to dependent components.
public
void SetReferences(IReferences references)
- references: IReferences - references to locate the component’s dependencies.
Trace
Records an operation trace with its name and duration.
public
void Trace(IContext context, string component, string operation, long duration)
- context: IContext - (optional) a context to trace execution through a call chain.
- component: string - name of the called component
- operation: string - name of the executed operation.
- duration: long - execution duration in milliseconds.
Examples
var tracer = new LogTracer();
tracer.SetReferences(References.FromTuples(
new Descriptor("pip-services", "logger", "console", "default", "1.0"), new ConsoleLogger()
));
var timing = trcer.BeginTrace("123", "mycomponent", "mymethod");
try {
...
timing.EndTrace();
} catch
{
timing.EndFailure(err);
}