LokiLogger 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package LokiLogger --version 1.0.0
                    
NuGet\Install-Package LokiLogger -Version 1.0.0
                    
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="LokiLogger" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LokiLogger" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="LokiLogger" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LokiLogger --version 1.0.0
                    
#r "nuget: LokiLogger, 1.0.0"
                    
#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.
#addin nuget:?package=LokiLogger&version=1.0.0
                    
Install LokiLogger as a Cake Addin
#tool nuget:?package=LokiLogger&version=1.0.0
                    
Install LokiLogger as a Cake Tool

LokiLogger

Most Logging Frameworks like Serilog are quiet complex and so slow. LokiLogger is a more than simple Alternative. With under 200 LoC it's very small and easy to extend.

Why it's much better than other Logger?

Other Logger are f*** slow, LokiLogger is small and fast. Also the most Logger don't safe the Class, Method or LineNumber where the Logger is called. But this is obviously a nice Feature for Debugging (most Logger have this Feature, but the use Refelection ⇒ more than slow ⇒ mostly disabled in Production).

Usage

More than simple just:

Log.SetWriter(new ConsoleWriter());


Log.Verbose("Text");
Log.Debug("Text");
Log.Info("Text");
Log.Warn("Text");
Log.Crit("Text");
Log.SysCrit("Text");

//Not needed e.g. for the ConsoleWriter but for the FileWriter and some others to close Stream/cleanup
Log.StopLog();

Architecture

The Libary is divided in Models, Writers and the Main Log Class.

Models is mainly the Log Class, a DTO for all Logged Events and the Logtype enum, just a simple Enum to identitfy the type of a Log Event.

Writers provide the Possibility to write the Logs to a custom output per default the ConsoleWriter is used. All of them must Implement the the IWriter Interface.

The Log Class provides the kernl Features like changing the Writer and or Log Events.

Features

Fast Logging. The Log Events are divided in:

  • Information ⇒ Nothing Special just an Information
  • Warning ⇒ Possible Issues
  • Critical ⇒ Failure in the System, expected Functionality cannot be provided
  • System Critical ⇒ System is unstable, Writers should send an Alert, when this Event happens

On every Log Event the Calling Class, Method and LineNumber is saved ⇒ it's quite easy to find the Error.

Performance

The Focus on this Project is performance. LokiLogger is e.g. with Console Output about 40% faster then Serilog (in some Scenarios about 60 % faster). It's thread safe and build for fast Logging.

Backlog

  • Add Log Methods with string format
  • Add to Nuget

Licence

This Libary is under MIT Lincense published.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 2.1

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on LokiLogger:

Package Downloads
LokiHelper

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.9 702 12/11/2019
3.0.6 1,098 11/7/2019
3.0.5 2,141 9/4/2019
3.0.4 1,018 8/23/2019
3.0.3 839 8/23/2019
3.0.2 981 8/23/2019
3.0.1 670 7/31/2019
3.0.0 644 7/30/2019
2.2.5 919 7/29/2019
2.2.4.1 656 7/29/2019
2.2.4 678 7/29/2019
2.2.3 677 5/21/2019
2.2.2 650 5/12/2019
2.2.1 671 5/5/2019
2.2.0 660 5/5/2019
2.1.0 691 3/25/2019
2.0.2 651 3/21/2019
1.0.0 898 9/19/2018