How to create a LoggerFactory with a ConsoleLoggerProvider?

前端 未结 2 399
野趣味
野趣味 2020-12-09 01:40

The ConsoleLoggerProvider has four constructors:

  1. ConsoleLoggerProvider(IConsoleLoggerSettings)
  2. ConsoleLoggerProvider(IOptionsMonito
2条回答
  •  旧巷少年郎
    2020-12-09 01:46

    @0xced thanks for your deconstructed example, since delegates don't work in Powershell this helped me to do the same in Powershell:

    $optionsFactory = [OptionsFactory[ConsoleLoggerOptions]]::new(
        [List[ConfigureNamedOptions[ConsoleLoggerOptions]]]@(
            [ConfigureNamedOptions[ConsoleLoggerOptions]]::new('',$null)
        ),
        [List[IPostConfigureOptions[ConsoleLoggerOptions]]]::new()
    )
    
    $optionsMonitor = [OptionsMonitor[ConsoleLoggerOptions]]::new(
        $optionsFactory,
        [List[IOptionsChangeTokenSource[ConsoleLoggerOptions]]]::new(),
        [OptionsCache[ConsoleLoggerOptions]]::new()
    )
    
    $consoleLoggerProvider = [ConsoleLoggerProvider]$OptionsMonitor
    $consoleLoggerProviderList = [List[ILoggerProvider]]::new()
    $consoleLoggerProviderList.add($consoleLoggerProvider)
    
    $loggerFactory = [LoggerFactory]::new(
        $consoleLoggerProviderList,
        [LoggerFilterOptions]@{
            MinLevel = [LogLevel]::Information
        }
    )
    

提交回复
热议问题