Skip to content

justinhachemeister/Logging-1

 
 

Repository files navigation

Logging

Some utilities for using logging to measure application performance.

Example Usage:

Via Using Statement

public static bool IsDivisibleBy(int candidate, int divisor)
{
    using (new CountLogger.DisposableStopwatch(CountLogger.AddDuration))
    {
        return candidate % divisor == 0;
    }
}

try...finally

Wrap the body of the method you want to measure in a try...finally block and start a timer at the start of the method:

public bool IsPrimeOptimized(int number)
{
    var timer = Stopwatch.StartNew();
    try
    {
        if (number < 2) return false;
        for (int i = 2; i <= Math.Sqrt(number); i++)
        {
            if (IsDivisibleBy(number, i)) return false;
        }
        return true;
    }
    finally
    {
        timer.Stop();
        CountLogger.AddDuration(timer.ElapsedMilliseconds);
    }
}

Output

Use any lambda that takes a string. You can use Log.Information() here, or Console.WriteLine(), etc.

CountLogger.DumpResults(Console.WriteLine);

Run the console application in the sample folder to see sample output.

About

Some logging utilities for .NET Core

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%