Skip to content
KissLog is a lightweight, customizable and powerful Logging tool for .NET
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Sdk updates 15-03-2019 (#6) Mar 15, 2019
.gitattributes Add .gitignore and .gitattributes. May 11, 2018
.gitignore Add .gitignore and .gitattributes. May 11, 2018 Sdk updates 15-03-2019 (#6) Mar 15, 2019

KissLog logo

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, powerfull logging interface for developers

🔹 Provides ready-to-use cloud or on-premises integration

Check the Wiki page for a complete documentation.

Change log

Quick guide

Framework support

Basic usage

public async Task<bool> IsEmailAddressValidAsync(string emailAddress)
    // acquire logger instance
    ILogger logger = Logger.Factory.Get();

    logger.Info(new Args("IsEmailAddressValidAsync begin", emailAddress));

    ExternalUser externalUser = await _externalProviderManager.GetUserByEmailAddressAsync(emailAddress);
    if (externalUser != null)
        logger.Error("User exists in External Provider");
        return false;

    User user = _usersRepository.GetByEmailAddress(emailAddress, false);
    if (user != null)
        logger.Error("User exists in database");
        return true;

    return true;

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 {emailAddress}");
Warning _logger.Warn($"Cache entry for {key} was not found");
Error _logger.Error($"User with Id = {userId} was not found");
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.

public void Foo()
    // acquire logger instance
    ILogger logger = Logger.Factory.Get();

    byte[] archive = File.ReadAllBytes(@"C:\Files\");
    logger.LogAsFile(archive, "");

    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

User interface

Captured errors, logs and other metrics can be visualised on cloud or on-premises application.

  • Website analytics

Website analytics

  • Centralized logging

Centralized logging

  • Request details

Logs details

  • Slack integration

Logs details

You can’t perform that action at this time.