TCIS.Logging.Abstractions 1.0.0-rc.33

This is a prerelease version of TCIS.Logging.Abstractions.
dotnet add package TCIS.Logging.Abstractions --version 1.0.0-rc.33
                    
NuGet\Install-Package TCIS.Logging.Abstractions -Version 1.0.0-rc.33
                    
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="TCIS.Logging.Abstractions" Version="1.0.0-rc.33" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TCIS.Logging.Abstractions" Version="1.0.0-rc.33" />
                    
Directory.Packages.props
<PackageReference Include="TCIS.Logging.Abstractions" />
                    
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 TCIS.Logging.Abstractions --version 1.0.0-rc.33
                    
#r "nuget: TCIS.Logging.Abstractions, 1.0.0-rc.33"
                    
#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 TCIS.Logging.Abstractions@1.0.0-rc.33
                    
#: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=TCIS.Logging.Abstractions&version=1.0.0-rc.33&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=TCIS.Logging.Abstractions&version=1.0.0-rc.33&prerelease
                    
Install as a Cake Tool

TCIS.Logging.Abstractions

📖 Overview

TCIS.Logging.Abstractions contains the core interfaces and contracts used to define the centralized logging system in the TCIS Framework. This library establishes a standard logging structure without directly depending on any specific logging framework (like Serilog or NLog).

✨ Features

  • ILogWriter / ILogWriter<T>: The main interface for logging with a structured request object mechanism.
  • NullLogWriter Fallback: A safe fallback mechanism that ensures Unit Tests or projects that do not call external logging configurations still function properly without NullReference exceptions.
  • Contextual Logging: Definitions such as ILogDetailSink and IInterceptedLogWriter support log collection across the entire business flow.

📦 Installation

dotnet add package TCIS.Logging.Abstractions

🚀 Usage

1. Registering the Fallback (Typically used in Unit Tests)

Ensure your service remains operational (using NullLogWriter) if the actual logging system has not been registered.

using Microsoft.Extensions.DependencyInjection;
using TCIS.Logging.Abstractions.Extensions;

var services = new ServiceCollection();
services.AddNullLogWriterFallback();

2. Injecting and Using ILogWriter

In Domain services or Controllers:

using TCIS.Logging.Abstractions.Abstractions;

public class OrderService
{
    private const string Provider = "order-service";
    private readonly ILogWriter<OrderService> _logger;

    public OrderService(ILogWriter<OrderService> logger)
    {
        _logger = logger;
    }

    public void ProcessOrder(string orderId)
    {
        try
        {
            // Logic processing...
            _logger.LogInformation($"[{Provider}] ProcessOrder: Success", new { OrderId = orderId });
        }
        catch (Exception ex)
        {
            _logger.LogException(ex, new { OrderId = orderId, Action = "ProcessOrder" });
            throw;
        }
    }
}

⚠️ Mandatory Log Format Rules

Always adhere to the format [{provider}] {operation}: {message} with a structured request object passed as the final parameter.

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 (17)

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

Package Downloads
TCIS.Logging

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Logging services and integration for TCIS Framework.

TCIS.MultiTenancy

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Multi-tenancy core abstractions and services for TCIS Framework.

TCIS.Http

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. HTTP client extensions and utilities for TCIS Framework.

TCIS.Caching

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Core caching abstractions and services for TCIS Framework.

TCIS.EventBus

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Event Bus abstractions and base implementation for TCIS Framework.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc.33 92 8/21/2026
1.0.0-rc.32 108 8/21/2026
1.0.0-rc.31 136 8/21/2026
1.0.0-rc.30 121 8/21/2026
1.0.0-rc.29 114 8/21/2026
1.0.0-rc.28 128 8/21/2026
1.0.0-rc.27 106 8/21/2026
1.0.0-rc.26 166 8/20/2026
1.0.0-rc.25 176 8/20/2026
1.0.0-rc.24 179 8/20/2026
1.0.0-rc.23 202 8/20/2026
1.0.0-rc.22 220 8/19/2026
1.0.0-rc.21 208 8/19/2026
1.0.0-rc.20 249 8/18/2026
1.0.0-rc.19 191 8/13/2026
1.0.0-rc.18 195 8/13/2026
1.0.0-rc.17 195 8/13/2026
1.0.0-rc.16 200 8/13/2026
1.0.0-rc.15 195 8/12/2026
1.0.0-rc.14 200 8/12/2026
Loading failed