KissLog logo KissLog.net

KissLog represents a powerful logging and monitoring solution for .NET applications.

Some of the main features of KissLog are:

🔹 Centralized Logging, Diagnostics and Error Reporting

🔹 Automatically captures all the exceptions

🔹 Provides a lightweight, yet powerfull logging interface for developers

🔹 Provides ready-to-use KissLog.net cloud or on-premises integration

Please check the Wiki page for a complete documentation.


Quick guide


Framework support

Logging interface

KissLog exposes all the log levels used by .NET Framework.

Level Usage
Trace _logger.Trace("Database connection opened");
Debug _logger.Debug("Two factor authentication started");
Information _logger.Info($"Recover password email sent for email ");
Warning _logger.Warn($"Cache entry for was not found");
Error _logger.Error($"User with Id = was not found");
_logger.Error(ex);
Critical _logger.Critical("There is not enough space on the disk. Save failed.");

Logging files

KissLog exposes methods which allows developers to save and log raw data as files.

byte[] archive = File.ReadAllBytes(@"C:\Files\bootstrap.zip");
_logger.LogAsFile(archive, "Bootstrap.zip");

string path = @"C:\Files\Invoice-16-11-2017.pdf";
_logger.LogFile(path, "Invoice.pdf");

Error reporting

KissLog captures all the unhandled exceptions.

Requests tracking

KissLog monitors all the Http requests, regardless if they are successful or not.

Logs target

KissLog comes with built-in log targets, saving the logs on:

  • Local text files
  • KissLog cloud / on-premises

Additionally, developers can create custom output targets for saving the logs.

Focused for developers

KissLog goal is to create an unobtrusive logging framework for .NET.

With this in mind, KissLog is built on the following principles:

  • It is easy to install for existing, legacy applications

  • It is lightweight, and it does not bring unnecessary dependencies

  • Transparent configuration (we try to avoid confusing xml settings)

  • It is highly customisable, being adaptive to application changes and specific scenarios