<PackageReference Include="NLog" Version="6.1.4" />

NLog.SetupLoadConfigurationExtensions

public static class SetupLoadConfigurationExtensions
Extension methods to setup NLog LoggingConfiguration
public static ISetupConfigurationLoggingRuleBuilder FilterDynamic(this ISetupConfigurationLoggingRuleBuilder configBuilder, Filter filter, FilterResult? filterDefaultAction = default)

Apply dynamic filtering logic for advanced control of when to redirect output to target.

public static ISetupConfigurationLoggingRuleBuilder FilterDynamic(this ISetupConfigurationLoggingRuleBuilder configBuilder, Func<LogEventInfo, FilterResult> filterMethod, FilterResult? filterDefaultAction = default)

Apply dynamic filtering logic for advanced control of when to redirect output to target.

public static ISetupConfigurationLoggingRuleBuilder FilterDynamicIgnore(this ISetupConfigurationLoggingRuleBuilder configBuilder, Func<LogEventInfo, bool> filterMethod, bool final = false)

Dynamic filtering of LogEvent, where it will be ignored when matching filter-method-delegate

public static ISetupConfigurationLoggingRuleBuilder FilterDynamicLog(this ISetupConfigurationLoggingRuleBuilder configBuilder, Func<LogEventInfo, bool> filterMethod, bool final = false)

Dynamic filtering of LogEvent, where it will be logged when matching filter-method-delegate

Apply fast filtering based on LogLevel. Include LogEvents with severity that equals logLevel.

Apply fast filtering based on LogLevel. Include LogEvents with severity between minLevel and maxLevel.

Apply fast filtering based on LogLevel. Include LogEvents with same or less severity as maxLevel.

Apply fast filtering based on LogLevel. Include LogEvents with same or worse severity as minLevel.

public static Target FirstTarget(this ISetupConfigurationTargetBuilder configBuilder)

Returns first target registered

public static T FirstTarget<T>(this ISetupConfigurationTargetBuilder configBuilder) where T : Target

Returns first target registered with the specified type

public static ISetupConfigurationLoggingRuleBuilder ForLogger(this ISetupLoadConfigurationBuilder configBuilder, string loggerNamePattern = "*", string ruleName = null)

Defines LoggingRule for redirecting output from matching Logger to wanted targets.

public static ISetupConfigurationLoggingRuleBuilder ForLogger(this ISetupLoadConfigurationBuilder configBuilder, LogLevel minLevel, string loggerNamePattern = "*", string ruleName = null)

Defines LoggingRule for redirecting output from matching Logger to wanted targets.

public static ISetupConfigurationTargetBuilder ForTarget(this ISetupLoadConfigurationBuilder configBuilder, string targetName = null)

Defines LoggingRule for redirecting output from matching Logger to wanted targets.

public static ISetupLoadConfigurationBuilder SetGlobalContextProperty(this ISetupLoadConfigurationBuilder configBuilder, string name, string value)

Updates the dictionary GlobalDiagnosticsContext ${gdc:item=} with the name-value-pair

Configures the global time-source used for all logevents

public static ISetupConfigurationLoggingRuleBuilder TopRule(this ISetupConfigurationLoggingRuleBuilder configBuilder, bool insertFirst = true)

Move the LoggingRule to the top, to match before any of the existing LoggingRules

public static ISetupConfigurationTargetBuilder WithAsync(this ISetupConfigurationTargetBuilder configBuilder, AsyncTargetWrapperOverflowAction overflowAction = 1, int queueLimit = 10000, int batchSize = 200)

Applies AsyncTargetWrapper for existing Targets for asynchronous background writing

public static ISetupConfigurationTargetBuilder WithAutoFlush(this ISetupConfigurationTargetBuilder configBuilder, Func<LogEventInfo, bool> conditionMethod, bool? flushOnConditionOnly = default)

Applies AutoFlushTargetWrapper for existing Targets for flushing after conditional event

public static ISetupConfigurationTargetBuilder WithBuffering(this ISetupConfigurationTargetBuilder configBuilder, int? bufferSize = default, TimeSpan? flushTimeout = default, bool? slidingTimeout = default, BufferingTargetWrapperOverflowAction? overflowAction = default)

Applies BufferingTargetWrapper for existing Targets for throttled writing

public static ISetupConfigurationTargetBuilder WithFallback(this ISetupConfigurationTargetBuilder configBuilder, Target fallbackTarget, bool returnToFirstOnSuccess = true)

Applies FallbackGroupTarget for existing Targets to fallback on failure.

public static ISetupConfigurationTargetBuilder WithRetry(this ISetupConfigurationTargetBuilder configBuilder, int? retryCount = default, TimeSpan? retryDelay = default)

Applies RetryingTargetWrapper for existing Targets for retrying after failure

Applies target wrapper for existing Targets

Redirect output from matching Logger to the provided target

Redirect output from matching Logger to the provided targets

Redirect output from matching Logger to the provided targetBuilder

public static ISetupConfigurationTargetBuilder WriteToColoredConsole(this ISetupConfigurationTargetBuilder configBuilder, Layout layout = null, bool highlightWordLevel = false, Encoding encoding = null, bool stderr = false, bool detectConsoleAvailable = false, bool enableAnsiOutput = false)

Write to ColoredConsoleTarget and color log-messages based on LogLevel

public static ISetupConfigurationTargetBuilder WriteToConsole(this ISetupConfigurationTargetBuilder configBuilder, Layout layout = null, Encoding encoding = null, bool stderr = false, bool detectConsoleAvailable = false, bool forceWriteLine = false)

Write to ConsoleTarget

Write to DebugSystemTarget

public static void WriteToDebugConditional(this ISetupConfigurationTargetBuilder configBuilder, Layout layout = null)

Write to DebugSystemTarget (when DEBUG-build)

public static ISetupConfigurationTargetBuilder WriteToFile(this ISetupConfigurationTargetBuilder configBuilder, Layout fileName, Layout layout = null, Encoding encoding = null, LineEndingMode lineEnding = null, bool keepFileOpen = true, long archiveAboveSize = -1, int maxArchiveFiles = -1, int maxArchiveDays = -1)

Write to FileTarget

public static ISetupConfigurationTargetBuilder WriteToMethodCall(this ISetupConfigurationTargetBuilder configBuilder, Action<LogEventInfo, object[]> logEventAction, Layout[] layouts = null)

Write to MethodCallTarget

public static void WriteToNil(this ISetupConfigurationLoggingRuleBuilder configBuilder, LogLevel finalMinLevel = null)

Discard output from matching Logger, so it will not reach any following LoggingRules.