< Summary

Information
Class: DirectSight.Logging.ConsoleLogger
Assembly DirectSight
File(s): /home/runner/work/DirectSight/DirectSight/DirectSight/Logging/ConsoleLogger.cs
Line coverage
86%
Covered lines: 20
Uncovered lines: 3
Coverable lines: 23
Total lines: 72
Line coverage: 86.9%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
Debug(...)50%2250%
Info(...)100%11100%
Warn(...)100%11100%
Error(...)100%11100%
WriteLine(...)100%22100%

File(s)

/home/runner/work/DirectSight/DirectSight/DirectSight/Logging/ConsoleLogger.cs

#LineLine coverage
 1using System;
 2
 3namespace DirectSight.Logging;
 4
 5/// <summary>
 6/// Logger that writes to the console.
 7/// </summary>
 8public static class ConsoleLogger
 9{
 10    /// <summary>
 11    /// Whether to show degugging messages.
 12    /// </summary>
 22813    public static bool ShowDebugMessages { get; set; } = false;
 14
 15    /// <summary>
 16    /// Log a formatted message at DEBUG level.
 17    /// </summary>
 18    /// <param name="format">The template string.</param>
 19    /// <param name="args">The arguments.</param>
 20    public static void Debug(string format, params object[] args)
 22821    {
 22822        if (ShowDebugMessages == true)
 023        {
 024            WriteLine("DEBUG", format, args);
 025        }
 22826    }
 27
 28    /// <summary>
 29    /// Log a formatted message at INFO level.
 30    /// </summary>
 31    /// <param name="format">The template string.</param>
 32    /// <param name="args">The arguments.</param>
 33    public static void Info(string format, params object[] args)
 634    {
 635        WriteLine("INFO", format, args);
 636    }
 37
 38    /// <summary>
 39    /// Log a formatted message at WARNING level.
 40    /// </summary>
 41    /// <param name="format">The template string.</param>
 42    /// <param name="args">The arguments.</param>
 43    public static void Warn(string format, params object[] args)
 144    {
 145        WriteLine("WARNING", format, args);
 146    }
 47
 48    /// <summary>
 49    /// Log a formatted message at ERROR level.
 50    /// </summary>
 51    /// <param name="format">The template string.</param>
 52    /// <param name="args">The arguments.</param>
 53    public static void Error(string format, params object[] args)
 754    {
 755        WriteLine("ERROR", format, args);
 756    }
 57
 58    /// <summary>
 59    /// Write a formatted message to the console.
 60    /// </summary>
 61    /// <param name="logLevel">The importance level of the message.</param>
 62    /// <param name="format">The template string.</param>
 63    /// <param name="args">The argument for the template string.</param>
 64    private static void WriteLine(string logLevel, string format, params object[] args)
 1465    {
 1466        if (args.Length > 0)
 967        {
 968            format = string.Format(format, args);
 969        }
 1470        Console.WriteLine($"{DateTime.Now:s} {logLevel}: {format}");
 1471    }
 72}