< Summary

Information
Class: ArturRios.Logging.Factories.InternalLoggerFactory
Assembly: ArturRios.Logging
File(s): D:\Repositories\dotnet-logging\src\Factories\InternalLoggerFactory.cs
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 30
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage
100%
Covered methods: 1
Fully covered methods: 0
Total methods: 1
Method coverage: 100%
Full method coverage: 0%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Create(...)100%44100%

File(s)

D:\Repositories\dotnet-logging\src\Factories\InternalLoggerFactory.cs

#LineLine coverage
 1using ArturRios.Logging.Configuration;
 2using ArturRios.Logging.Interfaces;
 3using ArturRios.Logging.Loggers;
 4
 5namespace ArturRios.Logging.Factories;
 6
 7/// <summary>
 8/// Factory for creating internal logger instances based on configuration.
 9/// </summary>
 10public static class InternalLoggerFactory
 11{
 12    /// <summary>
 13    /// Creates an internal logger instance based on the provided configuration.
 14    /// </summary>
 15    /// <param name="loggerConfiguration">The logger configuration specifying the type and settings.</param>
 16    /// <returns>An instance of <see cref="IInternalLogger"/> configured according to the provided settings.</returns>
 17    /// <exception cref="ArgumentNullException">Thrown when loggerConfiguration is null.</exception>
 18    /// <exception cref="ArgumentException">Thrown when the configuration type is not supported.</exception>
 19    public static IInternalLogger Create(LoggerConfiguration loggerConfiguration)
 620    {
 621        ArgumentNullException.ThrowIfNull(loggerConfiguration);
 22
 523        return loggerConfiguration switch
 524        {
 225            ConsoleLoggerConfiguration consoleConfig => new ConsoleLogger(consoleConfig),
 226            FileLoggerConfiguration fileConfig => new FileLogger(fileConfig),
 127            _ => throw new ArgumentException($"Unsupported logger configuration type: {loggerConfiguration.GetType().Ful
 528        };
 429    }
 30}