Chinchilla.Logging is a .NET Core port of cdmdotnet.Logging, an abstracted logging platform for .NET. It can help you collect reliable logs for your application regardless of its size or complexity with minimal performance implications.

This logging library makes large use of enterprise correlation.
In a lot of applications that incorporate various small and large services, it is often important to correlate events that happen across these services. It gives us a business workflow view of the various events that happen in the application, its components and services.
This library provide operation and activity ID management and propagation.

The main difference with this library over other is that you can configure each type of log separately. You can enable fatal, error, warning, debugging, informational, progress and sensitive data logging all independently of each other.
This is more flexible than the concept of minimum level logging, such as that in log4net or serilog e.g. enabling one warning in this libraries will enable error and fatal logging as well. This library allows you to set those settings independently of each other.

The SqlLogger maps AdditionalData to table columns, where the key of the dictionary entry is the column name and the value is serialised to JSON as the column value.
MetaData is serialised to a single JSON value stored in the MetaData column.
This means you can store data such as a User ID or Job ID in a separate column so you can filter more efficiently with indexes and partitions.

EventLogger, TraceLogger and ConsoleLogger both seralise and format all information into a single string.
The MultiLogger allows you to configure several different loggers to be used at once with different settings for each logger.

See for usage details.

This package installs Chinchilla.Logging.dll which includes core logging functionality. Other packages depend on Chinchilla.Logging for specific implementations.

Install-Package Chinchilla.Logging -Version
dotnet add package Chinchilla.Logging --version
<PackageReference Include="Chinchilla.Logging" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Chinchilla.Logging --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Chinchilla.Logging,"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Chinchilla.Logging as a Cake Addin
#addin nuget:?package=Chinchilla.Logging&version=

// Install Chinchilla.Logging as a Cake Tool
#tool nuget:?package=Chinchilla.Logging&version=
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Version 4.2.0

* Added support for logging to the windows EventLog.
* Better SQL support for SqlLogger in .Net Core.

Version 4.1.0

* Added additional Support for .NET Standard 2.0.

Version 4.0.0

* Added .NET Core 3.0 support.

Breaking Changes

* Removed Performance Trackers

Version 1.2.104

* Added support for IContainerLoggerSettings, an interface that allows container based settings at a very granular level.

NuGet packages (15)

Showing the top 5 NuGet packages that depend on Chinchilla.Logging:

Package Downloads
A lightweight enterprise Function as a service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments, offering modern patterns such as CQRS and event-sourcing. Offering a superior combination of serverless, micro-service and traditional deployments both in the cloud and on-premise to suit any business. Deployments can be inter-conntected with each other sharing data and resourcing or independant and issolated while providing a consistent framework and guideline for both development, deployment, DevOps and administration. CQRS.NET has been designed with modularity in mind... see the number of technology packages below you can chose from. Modularity applies to both development concerns like storage as well as operational modularity such as serverless or micro-service deployment, PaaS, VMs or container packaging. Every package and design choice made should be interchangeable with custom code if needed.
Package Description
Use Azure ServiceBus as a message, event or command bus in CQRS.NET
Use Azure Configuration Manager as the configuration manager in CQRS.NET
Use Ninject as your IoC container of choice when using Microsoft Azure ServiceBus for CQRS.NET as your command bus

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Chinchilla.Logging:

Repository Stars
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.

Version History

Version Downloads Last updated 391 3/4/2021 123 3/4/2021 167 12/18/2020 114 12/18/2020 128 12/18/2020 1,713 8/11/2020 487 4/12/2020 322 4/12/2020 289 4/7/2020 312 4/7/2020 291 4/7/2020 16,052 11/25/2019 1,945 11/24/2019 310 11/24/2019 354 11/24/2019 291 11/23/2019 2,450 11/22/2019 281 11/19/2019