PvWay.LoggerService.nc6
1.0.1
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
<PackageReference Include="PvWay.LoggerService.nc6" Version="1.0.1" />
paket add PvWay.LoggerService.nc6 --version 1.0.1
#r "nuget: PvWay.LoggerService.nc6, 1.0.1"
// 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 | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.Logging.Abstractions (>= 7.0.1)
- PvWay.LoggerService.Abstractions.nc6 (>= 1.0.1)
NuGet packages (10)
Showing the top 5 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.SeriConsole.nc6
Implements the ILoggerService as a simple stdout console using the well known Serilog(tm) console skin logger. |
|
PvWay.LoggerService.Console.nc6
Implements the ILoggerService as a simple stdout console using Console.WriteLine statements. The output is colored depending on the severity. |
|
PvWay.LoggerService.MsSqlLogWriter.nc6
Microsoft SQL implementation of the pvWay.LoggerService.Abstractions.nc6 that persists logs into a table in a MsSQL database |
GitHub repositories
This package is not used by any popular GitHub repositories.
Now using abstraction layer 1.0.1