namespace Tapeti.Serilog
{
///
/// Collects diagnostic information for message handler logging when using the
/// MessageHandlerLogging middleware.
///
///
/// This is a one-to-one copy of the IDiagnosticContext in Serilog.Extensions.Hosting which
/// saves a reference to that package while allowing similar usage within Tapeti message handlers.
///
public interface IDiagnosticContext
{
///
/// Set the specified property on the current diagnostic context. The property will be collected
/// and attached to the event emitted at the completion of the context.
///
/// The name of the property. Must be non-empty.
/// The property value.
/// If true, the value will be serialized as structured
/// data if possible; if false, the object will be recorded as a scalar or simple array.
void Set(string propertyName, object value, bool destructureObjects = false);
}
}