Represents an execution context, typically a method or a user activity.
Inheritance
Namespace: PostSharp.Patterns.Diagnostics.Contexts
Assembly: PostSharp.Patterns.Diagnostics.dll
Syntax
public abstract class LoggingContext : ILoggingContext, IDisposable
Properties
Name | Description |
---|---|
ActivationContext | Gets the LoggingContext in which the current context was activated. If the current context has been resumed, ActivationContext refers to the context in which the context was resumed. |
Backend | Gets the parent LoggingBackend of the current context. |
CurrentTransaction | Gets the LoggingTransaction defined or inherited by the current context. |
DefinedTransaction | Gets the LoggingTransaction defined by the current context. |
Description | Gets the description of the current context. The description is typically set by the LogRecordBuilder when building the opening record of a context. |
EventData | Gets the LogEventData (i.e. the source of logging properties) associated with the current LoggingContext. |
HierarchicalContextIdInfo | Exposes the IHierarchicalContextIdInfo for the current context. Used by SyntheticIdFormatter. |
Id | Gets or set the identifier of the current context. This value is created
according to the strategy set in |
IdGenerationStrategy | Gets the ContextIdGenerationStrategy used to generate the Id property for the current context. |
IndentLevel | Gets or sets the indentation level for the current context. |
IsAsync | Determines whether the current LoggingContext represents an async method or an asynchronous custom activity. |
IsDisposed | Determines whether the current context has been disposed. |
IsHidden | Determines whether the current LoggingContext is hidden. Hidden contexts may define properties but should not be rendered. |
IsSharable | Determines whether the current LoggingContext can be accessed outside of its nominal lifetime (for instance after the method has completed or a custom activity has been closed). Since contexts can be pooled and reused, consumers must call the MakeSharable() method if they want to keep a reference to the LoggingContext and access it after its nominal lifetime has completed. |
Kind | Gets the kind of the current context. |
MemberName | Gets the name of the method or property related to the current context. |
ParentContext | Gets the LoggingContext in which the current context was activated. Previously, this was the logical parent instead. |
Properties | Gets the logging properties added with the associated activity. |
Source | Gets the LoggingTypeSource corresponding, typically, to the declaring type of the member associated to the current context. |
SyntheticId | Gets a cross-process globally unique identifier for the current LoggingContext.
This value is created according to value of the |
SyntheticParentId | When this property returns a non-null value, the SyntheticId property shall use the value of the SyntheticParentId property as the parent identifier, instead of recursively building the synthetic identifier based on ParentContext. You can set this property when you open a custom activity by configuring the OpenActivityOptions object. |
SyntheticRootId | When this property returns a non-null value, the SyntheticId property shall return the same value as the SyntheticRootId property, instead of starting with the id of the parent context. You can set this property when you open a custom activity by configuring the OpenActivityOptions object. |
ThreadContext | Gets the ThreadLoggingContext for the thread in which the current LoggingContext is currently executed. |
Methods
Name | Description |
---|---|
CreateCorrelationCookie() | Creates a cookie that can be used to correlate, using the SetCorrelation(CorrelationCookie) method, another context to the current context. |
Dispose() | |
Dispose(bool) | Disposes the current object. |
ForEachProperty(LoggingPropertyVisitor<object>, bool) | Invokes a delegate for each property defined in the current logging context and optionally in its ancestor contexts. |
ForEachProperty<T>(LoggingPropertyVisitor<T>, ref T, bool) | Invokes a delegate for each property defined in the current logging context and optionally in its ancestor contexts, and specifies passes a state object to the delegate. |
GetCustomRecordBuilder(ref CustomLogRecordInfo) | Gets a LogRecordBuilder for the current context to build a custom record. |
GetExecutionContextData(LoggingExecutionContextData, bool) | Returns a new layer for the async stack that has this LoggingContext as the associated activity and |
GetRecordBuilder(ref LogRecordInfo, ref LogMemberInfo) | Gets a LogRecordBuilder for the current context to build a standard record for a given method. |
MakeSharable() | Allows the current context to be shared beyond its normal lifecycle by preventing it from being returned to the pool. |
SetCorrelation(CorrelationCookie) | Associates the current context with another context. |
SetWaitDependency(object) | Sets the wait dependency for the current context, i.e. sets a representation of what the current context is waiting for. This operation is available only in custom contexts. |
ToString() | |
ToString(StringBuilder) | Formats a description of the current LoggingContext into a given StringBuilder. |
VisitProperties(Action<string, object>, bool) | Invokes a delegate each property on the current context, and, optionally, for inherited properties in ancestor contexts. This offers a simple way to visit properties, but it has a performance overhead compared to VisitProperties<TState>(ILoggingPropertyVisitor<TState>, ref TState, in LoggingPropertyVisitorOptions) because it is weakly typed and cause the allocation of a closure class to build the action. It also does not expose the LoggingPropertyOptions. |
VisitProperties<TState>(ILoggingPropertyVisitor<TState>, ref TState, in LoggingPropertyVisitorOptions) | Invokes the Visit<TValue>(string, TValue, in LoggingPropertyOptions, ref TState) method of an interface implementation for each property on the current context, and, optionally, for inherited properties in ancestor contexts. |