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
<PackageReference Include="Franz.Common.Logging" Version="1.7.6" />
<PackageVersion Include="Franz.Common.Logging" Version="1.7.6" />
<PackageReference Include="Franz.Common.Logging" />
paket add Franz.Common.Logging --version 1.7.6
#r "nuget: Franz.Common.Logging, 1.7.6"
#:package Franz.Common.Logging@1.7.6
#addin nuget:?package=Franz.Common.Logging&version=1.7.6
#tool nuget:?package=Franz.Common.Logging&version=1.7.6
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
TraceHelperfor 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-.jsonfor SRE,prod-dev-.logfor 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()andUseHybridLog()
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 | Versions 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. |
-
net10.0
- Elastic.Apm.Extensions.Hosting (>= 1.34.1)
- Elastic.Apm.NetCoreAll (>= 1.34.1)
- Elastic.Apm.SerilogEnricher (>= 9.0.0)
- Elastic.Serilog.Sinks (>= 9.0.0)
- Serilog.AspNetCore (>= 10.0.0)
- Serilog.Enrichers.Demystifier (>= 1.0.3)
- Serilog.Enrichers.Environment (>= 3.0.1)
- Serilog.Sinks.Console (>= 6.1.1)
- Serilog.Sinks.Debug (>= 3.0.0)
- Serilog.Sinks.Elasticsearch (>= 10.0.0)
- Serilog.Sinks.File (>= 7.0.0)
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 |