< Summary - Kestrun — Combined Coverage

Information
Class: Public.Logging.core.Get-KrLevelSwitch
Assembly: Kestrun.PowerShell.Public
File(s): /home/runner/work/Kestrun/Kestrun/src/PowerShell/Kestrun/Public/Logging/core/Get-KrLevelSwitch.ps1
Tag: Kestrun/Kestrun@9d3a582b2d63930269564a7591aa77ef297cadeb
Line coverage
0%
Covered lines: 0
Uncovered lines: 8
Coverable lines: 8
Total lines: 45
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

File(s)

/home/runner/work/Kestrun/Kestrun/src/PowerShell/Kestrun/Public/Logging/core/Get-KrLevelSwitch.ps1

#LineLine coverage
 1<#
 2    .SYNOPSIS
 3        Gets the current logging level for a level switch.
 4    .DESCRIPTION
 5        Retrieves the current logging level for a specified level switch. If the LoggerName is not provided,
 6        it will be derived from the provided Logger instance.
 7    .PARAMETER Logger
 8        An instance of Serilog.Core.Logger to set the level switch for.
 9        It's mutually exclusive with the LoggerName parameter.
 10    .PARAMETER LoggerName
 11        The name of a registered logger to set the level switch for.
 12        It's mutually exclusive with the Logger parameter.
 13    .EXAMPLE
 14        PS> Get-KrLevelSwitch -LoggerName "MyLogger"
 15        Retrieves the current logging level of the level switch for the logger named "MyLogger".
 16    .EXAMPLE
 17        PS> Get-KrLevelSwitch -Logger $myLogger
 18        Retrieves the current logging level of the level switch for the specified logger instance.
 19#>
 20function Get-KrLevelSwitch {
 21    [KestrunRuntimeApi('Everywhere')]
 22    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '')]
 23    [CmdletBinding(DefaultParameterSetName = 'LoggerName')]
 24    [OutputType([Serilog.Events.LogEventLevel])]
 25    param(
 26        [Parameter(Mandatory = $false, ParameterSetName = 'LoggerName')]
 27        [string]$LoggerName,
 28        [Parameter(Mandatory = $true, ParameterSetName = 'Logger')]
 29        [Serilog.Core.Logger]$Logger
 30    )
 31
 032    if ([string]::IsNullOrEmpty($LoggerName)) {
 033        $LoggerName = [Kestrun.Logging.LoggerManager]::GetName($Logger)
 34    }
 035    if ([string]::IsNullOrEmpty($LoggerName)) {
 036        throw [System.ArgumentException]::new("LoggerName cannot be null or empty.")
 37    }
 38
 039    $levelSwitch = [Kestrun.Logging.LoggerManager]::GetLevelSwitch($LoggerName)
 040    if ($null -eq $levelSwitch) {
 041        throw [System.InvalidOperationException]::new("Level switch not found for logger '$LoggerName'. Ensure that the 
 42    }
 043    return $levelSwitch.MinimumLevel
 44}
 45

Methods/Properties

Get-KrLevelSwitch()