Franz.Common.Logging 1.7.6

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

Franz.Common.Logging

A comprehensive logging library within the Franz Framework, designed to enhance application monitoring and diagnostics using Serilog and Elastic APM. This package provides tools for centralized logging, tracing, and seamless integration with ASP.NET Core applications.

  • Current Version: 1.7.6
  • Part of the private Franz Framework ecosystem.

What’s New in 1.7.6

  • Dual Production Logging

    • SRE logs: JSON, structured, minimal noise, easy to ship to ELK/Datadog.
    • Dev logs: human-readable, verbose, retains stack traces for troubleshooting.
  • Self-contained, production-ready defaults

    • Automatic UTF-8-safe encoding, rolling files, environment-aware enrichers.
    • Global noise suppression applied consistently.
  • Integration-ready for Franz.Common.OpenTelemetry

    • Logs are automatically correlated with tracing for distributed systems.
  • Fail-safe and maintainable

    • Dev and SRE logs separate, no interference, retention policies enforced.

Features

  • Centralized Logging

    • Integration with Serilog for structured and enriched logs.
  • Tracing Utilities

    • TraceHelper for advanced tracing support in distributed applications.
  • Host Extensions

    • UseLog() for strict, environment-aware logging.
    • UseHybridLog() for flexible, configuration-driven logging.
  • Elastic APM Integration

    • Full support for Elastic APM (enabled automatically in DEBUG).
  • Dual Production Logging (v1.7.6)

    • JSON logs for SRE (prod-sre-.json)
    • Human-readable logs for Dev (prod-dev-.log)

Installation

From Private Azure Feed

dotnet nuget add source "https://your-private-feed-url" \
  --name "AzurePrivateFeed" \
  --username "YourAzureUsername" \
  --password "YourAzurePassword" \
  --store-password-in-clear-text

Install the package:

dotnet add package Franz.Common.Logging --version 1.7.6

Usage

1. Strict Environment-Aware Logging (UseLog)

using Franz.Common.Logging.Extensions;

var host = Host.CreateDefaultBuilder(args)
    .UseLog() // Dev → Console + Debug + File
              // Prod → Console + Dev log + SRE log
    .Build();

await host.RunAsync();

Development:

  • Verbose console logs
  • Debug sink
  • Daily rolling file logs (logs/dev-.log)

Production:

  • SRE JSON log: logs/prod-sre-.json, structured, minimal noise, 30-day retention
  • Dev human-readable log: logs/prod-dev-.log, verbose, stack traces, 30-day retention
  • Console logs for live monitoring

2. Hybrid Logging (UseHybridLog)

using Franz.Common.Logging.Extensions;

var host = Host.CreateDefaultBuilder(args)
    .UseHybridLog() // Configuration-driven logging from appsettings.json
    .Build();

await host.RunAsync();

In appsettings.json:

{
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "MinimumLevel": "Debug",
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "File",
        "Args": { "path": "logs/app-.log", "rollingInterval": "Day" }
      }
    ]
  }
}

3. Custom Tracing

using Franz.Common.Logging.Tracing;

TraceHelper.TraceInformation("Starting application initialization...");
TraceHelper.TraceWarning("Potential configuration issue detected.");

4. Elastic APM (Enabled in DEBUG builds)

#if DEBUG
Agent.Setup(new AgentComponents());
#endif

Production: opt-in via appsettings.json:

{
  "ElasticApm": {
    "ServerUrls": "http://localhost:8200",
    "ServiceName": "MyApplication"
  }
}

Changelog

Version 1.7.6

  • Dual production logs: prod-sre-.json for SRE, prod-dev-.log for Dev
  • UTF-8 safe, rolling files, 30-day retention
  • Console logging preserved for live monitoring
  • Noise suppression applied consistently across logs
  • Integration-ready for Franz.Common.OpenTelemetry
  • Maintains full backward compatibility with UseLog() and UseHybridLog()

Version 1.6.20

  • Updated to .NET 10.0
  • Logging overhaul, platform stability, noise filtering, UTF-8 enforcement, context enrichment

(Older versions omitted for brevity)


Suggested Commit Message

chore(logging): release Franz.Common.Logging 1.7.6

- Dual production logging: SRE JSON + Dev human-readable logs
- UTF-8 safe, rolling files, 30-day retention
- Preserves console logging for live monitoring
- Noise suppression applied consistently
- Ready for integration with Franz.Common.OpenTelemetry
- Updated README and usage examples
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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 (7)

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

Package Downloads
Franz.Common.Messaging.Hosting

Shared utility library for the Franz Framework.

Franz.Common.Bootstrap

Shared utility library for the Franz Framework.

Franz.Common.SSO

Shared utility library for the Franz Framework.

Franz.Common.Messaging.AzureEventBus

Shared utility library for the Franz Framework.

Franz.Common.Messaging.AzureEventHubs

Shared utility library for the Franz Framework.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.7.6 59 1/22/2026
1.7.5 209 1/10/2026
1.7.4 212 12/27/2025
1.7.3 289 12/22/2025
1.7.2 298 12/21/2025
1.7.1 242 12/20/2025
1.7.0 386 12/16/2025
1.6.21 281 11/27/2025
1.6.20 274 11/24/2025
1.6.19 269 10/25/2025
1.6.15 316 10/20/2025
1.6.14 308 10/15/2025
1.6.3 319 10/9/2025
1.6.2 329 10/7/2025
1.5.9 289 9/24/2025
1.5.4 280 9/23/2025
1.5.3 331 9/21/2025
1.5.2 327 9/21/2025
1.5.0 316 9/21/2025
1.4.4 312 9/20/2025
1.3.14 404 9/18/2025
1.3.13 402 9/18/2025
1.3.5 395 9/17/2025
1.3.4 402 9/16/2025
1.3.3 408 9/16/2025
1.3.2 395 9/15/2025
1.3.1 206 9/12/2025
1.3.0 403 8/25/2025
1.2.65 316 3/3/2025
1.2.64 237 1/29/2025
1.2.63 261 1/27/2025
1.2.62 294 1/8/2025