PvWay.LoggerService.nc6 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package PvWay.LoggerService.nc6 --version 1.0.1
NuGet\Install-Package PvWay.LoggerService.nc6 -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PvWay.LoggerService.nc6" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PvWay.LoggerService.nc6 --version 1.0.1
#r "nuget: PvWay.LoggerService.nc6, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PvWay.LoggerService.nc6 as a Cake Addin
#addin nuget:?package=PvWay.LoggerService.nc6&version=1.0.1

// Install PvWay.LoggerService.nc6 as a Cake Tool
#tool nuget:?package=PvWay.LoggerService.nc6&version=1.0.1

pvWay Logger Service for dotNet core 6

Dependendies

  • pvWay.LoggerService.Abstractions.nc6
  • Microsoft.Extensions.Logging.Abstraction

Description

This nuget provides several very intuitive LoggerService implementations of the PvWay.LoggerService.Abstractions.nc6 ILoggerService interface :

  • ConsoleLogger
  • MuteLogger
  • Microsoft Logger
  • PersistenceLogger

ConsoleLogger

  • This colorful implementation uses Console.WriteLine outputting logs to the standard out.

Mutelogger

  • As the name sounds this implementation can be used to injecting a silent logger. This can be handy for unit testing.

Microsoft Logger

  • Uses the Microsoft.Extensions.Logging.Logger for outputting logs

Persistent Logger

  • Enables you to connect any persistence layer for storing logs into the storage of your choice
  • Have a look to
    • the Microsoft SQL persistence layer PvWay.LoggerService.MsSqlLogWriter.nc6 nuGet package
    • or the PostgreSQL persistence layer PvWay.LoggerService.PgSqlLogWriter.nc6 nuGet package

Methods

All methods include both a synchronous and an asynchronous signature.

See here after the main methods:

void Log(
    string message,
    SeverityEnum severity = SeverityEnum.Debug,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);

Task LogAsync(
    string message,
    SeverityEnum severity = SeverityEnum.Debug,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);
        
void Log(
    IEnumerable<string> messages,
    SeverityEnum severity,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);

Task LogAsync(
    IEnumerable<string> messages,
    SeverityEnum severity,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);

void Log(
    Exception e,
    SeverityEnum severity = SeverityEnum.Fatal,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);

Task LogAsync(
    Exception e,
    SeverityEnum severity = SeverityEnum.Fatal,
    [CallerMemberName] string memberName = "",
    [CallerFilePath] string filePath = "",
    [CallerLineNumber] int lineNumber = -1);

Usage

using PvWay.LoggerService.Abstractions.nc6;
using PvWay.LoggerService.nc6;

// ConsoleLogger is an implementation of 
// the logger service that output colorful
// messages to the standard out
var ls = new ConsoleLogger();

// sync logging a simple debug message to the console
// --------------------------------------------------
ls.Log("simple debug message);

// async logging a warning message to the console
// ----------------------------------------------
async ls.LogAsync("this is a warning", SeverityEnum.Warning);

// logging an exception to the console
// -----------------------------------
try 
{
    var x = y / 0;
}
catch (Exception e) 
{
    ls.Log(e);}
}

See Also

The following nuGet packages implement the LoggerService

    • PvWay.LoggerService.nc6
    • ConsoleLogger: Colorful console implementation
    • MuteLogger: Silent logger for uTesting
    • MicrosoftLogger: uses the Microsoft.Extensions.Logger
  • PvWay.MsSqlLogWriter.nc6: Implementation for Ms SQL Database

  • PvWay.PgSqlLogWriter.nc6: Implementation for PostgreSQL Database

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on PvWay.LoggerService.nc6:

Package Downloads
pvWay.MethodResultWrapper.nc6

Provides a generic wrapper that returns whether or not a method succeeded or failed carrying the method result on success or a list of notifications/errors in case of failure

PvWay.LoggerService.PgSqlLogWriter.nc6

PostgreSQL implementation of the pvWay.LoggerService.Abstractions.nc6 that persists logs into a table in a PostgreSQL database

PvWay.LoggerService.MsSqlLogWriter.nc6

Microsoft SQL implementation of the pvWay.LoggerService.Abstractions.nc6 that persists logs into a table in a MsSQL database

PvWay.LoggerService.MethodResultWrapper.nc6

Provides a generic wrapper that returns whether or not a method succeeded or failed carrying the method result on success or a list of notifications/errors in case of failure

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.1 202 8/28/2023
2.0.0 141 8/25/2023
1.0.1 113 8/25/2023
1.0.0 176 6/7/2023

Now using abstraction layer 1.0.1