Skip to content

karenpayneoregon/ef-core5-logging

Repository files navigation

EF Core logging in .NET Core 5 (C#)

Provides basic Entity Framework Core logging code samples.


Make sure to read ConfigurationHelper which descibes various settings for connection string and logging.

✔️ Read EF Core connection string from appsettings.json

✔️ Configuring EF Core logging from appsettings.json


Options for logging

public enum LoggingDestination
{
    /// <summary>
    /// Log to Output window
    /// </summary>
    DebugWindow,
    /// <summary>
    /// Log to file
    /// </summary>
    LogFile,
    /// <summary>
    /// No logging
    /// </summary>
    None
}

Usage: reads appsettings.json

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    if (!optionsBuilder.IsConfigured)
    {
        switch (Helper.LoggingDistination())
        {
            case LoggingDestination.DebugWindow:
                LogQueryInfoToDebugOutputWindow(optionsBuilder);
                break;
            case LoggingDestination.LogFile:
                LogQueryInfoToFile(optionsBuilder);
                break;
            case LoggingDestination.None:
                NoLogging(optionsBuilder);
                break;
            default: throw new ArgumentOutOfRangeException();
        }
    }
}

img image img

NuGet packages

Id Versions
Microsoft.Extensions.Configuration.FileExtensions {5.0.0}
Newtonsoft.Json {12.0.3}
Microsoft.Extensions.Configuration.Binder {5.0.0}
Microsoft.Extensions.Configuration.Json {5.0.0}
Microsoft.Extensions.Configuration {5.0.0}

See also


img

Releases

No releases published

Packages

No packages published