Open sandboxFocus

Class MultiplexerBackend

A multiplexer is a logging backend that sends logging events to other logging backends.

Inheritance
MultiplexerBackend
Implements
Namespace: PostSharp.Patterns.Diagnostics.Backends.Multiplexer
Assembly: PostSharp.Patterns.Diagnostics.dll
Syntax
public sealed class MultiplexerBackend : LoggingBackend, IDisposable
Remarks

You want to use a multiplexer if you want all of your logging to go to two or more different backends.

Each backend, including the multiplexer itself, maintains its own stack of logging contexts.

Configure verbosity and options on the child backends, not on the multiplexer. Setting the minimal level of a namespace or type on the verbosity of the multiplexer throws a NotSupportedException.

With the default exception handler, DefaultLoggingExceptionHandler, an exception thrown by a child backend disables only that backend; the other children continue to receive events.

Constructors

Name Description
MultiplexerBackend(params LoggingBackend[])

Initializes a new instance of the MultiplexerBackend class.

Properties

Name Description
Backends

Gets the child backends.

Methods

Name Description
CreateAsyncCustomActivityContext()

Creates a new AsyncCustomActivityLoggingContext.

CreateAsyncMethodContext()

Creates a new AsyncMethodLoggingContext for a given async method.

CreateEphemeralContext(ThreadLoggingContext)

Creates a new EphemeralLoggingContext.

CreateIteratorContext()

Creates a new IteratorLoggingContext for a given iterator method.

CreateRecordBuilder()

Creates a new LogRecordBuilder.

CreateSyncCustomActivityContext(ThreadLoggingContext)

Creates a new SyncCustomActivityLoggingContext.

CreateSyncMethodContext(ThreadLoggingContext)

Creates a new SyncMethodLoggingContext for a given normal (non-async, non-iterator) method.

CreateThreadContext()

Creates a new ThreadLoggingContext.

CreateTransaction(LoggingTypeSource, in TransactionProperties, ITransactionPolicy)

Creates a LoggingTransaction instance.

CreateTypeSource(LoggingNamespaceSource, Type)

Creates a LoggingTypeSource for the given role and type.

CreateTypeSourceBySourceName(LoggingNamespaceSource, string)

Creates a LoggingTypeSource for the given role and logger name.

CreateVerbosityConfiguration()

Creates a new LoggingVerbosityConfiguration for the current LoggingBackend.

Dispose(bool)

Disposes the current object.

GetBackendOptions()

Gets the formatting and rendering options for the current LoggingBackend.

See Also