CentralLogger.Client 1.0.0

dotnet add package CentralLogger.Client --version 1.0.0
                    
NuGet\Install-Package CentralLogger.Client -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="CentralLogger.Client" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CentralLogger.Client" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="CentralLogger.Client" />
                    
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 CentralLogger.Client --version 1.0.0
                    
#r "nuget: CentralLogger.Client, 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.
#:package CentralLogger.Client@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CentralLogger.Client&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=CentralLogger.Client&version=1.0.0
                    
Install as a Cake Tool

CentralLogger.Client

This is the all-in-one package for adding CentralLogger to a .NET application. It includes:

  • CentralLogger.Client.dll and CentralLogger.Abstractions.dll.
  • The complete framework-dependent Windows x64 CentralLogger.Service payload.
  • Build-transitive deployment that copies the service to service\ beside your application output.
  • Durable client spooling, automatic reconnect, installed-service startup, and portable-service startup.

Requirements

  • .NET 8 or later application.
  • Windows x64 for the included service executable.
  • UAC approval when portable service mode first starts and needs access to the machine-wide ProgramData database.

Install

dotnet add package CentralLogger.Client --version 1.0.0

For a local package feed:

dotnet add package CentralLogger.Client --version 1.0.0 --source C:\path\to\publish\nuget

Build the application once. The output will contain:

YourApplication.exe
service\
  CentralLogger.Service.exe
  CentralLogger.Service.dll
  appsettings.json
  ...runtime dependencies...

Start logging

Initialize once at application startup:

using CentralLogger;

Logger.Initialize("ATMApplication");

Create one logger for each class or component:

private static readonly Logger Log =
    new("CashDispenser", "$Workfile: CashDispenser.cs $", "$Revision: 1.0 $");

Write logs without waiting for the service or database:

Log.Debug("Starting dispense operation.");
Log.Info("Dispense completed.");
Log.Warning("Cassette level is low.");
Log.Error(exception, "Dispense failed.");
Log.Write("CashPresented", "Cash was presented to the customer.");

Applications do not call FlushAsync during normal use. Entries are queued durably and delivered in the background. A bounded automatic drain runs at process exit, and unacknowledged entries remain in the client spool for replay.

Service behavior

All applications connect to the same local named-pipe service and write to one central database. The default database is:

C:\ProgramData\Company\CentralLogger\CentralLogs.db

If the installed CompanyCentralLogger Windows service is unavailable, the client locates service\CentralLogger.Service.exe from the application output and starts it in portable mode. Multiple applications may contain the payload; a machine-wide mutex ensures only one writer service is active.

For a permanent Windows-service installation, run the included service\Install-Service.ps1 from an elevated PowerShell session. The service configuration is service\appsettings.json; database, retention, encryption, recovery, and archive settings belong to the service, not application projects.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CentralLogger.Client:

Package Downloads
Xfs351.Settings

Embeddable WPF settings editor for Xfs351 device configurations and registered XFS logical services.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 124 8/4/2026

Includes the client libraries, build-transitive deployment support, and the complete win-x64 service payload.