Raycynix.Extensions.Logging
2.1.0
dotnet add package Raycynix.Extensions.Logging --version 2.1.0
NuGet\Install-Package Raycynix.Extensions.Logging -Version 2.1.0
<PackageReference Include="Raycynix.Extensions.Logging" Version="2.1.0" />
<PackageVersion Include="Raycynix.Extensions.Logging" Version="2.1.0" />
<PackageReference Include="Raycynix.Extensions.Logging" />
paket add Raycynix.Extensions.Logging --version 2.1.0
#r "nuget: Raycynix.Extensions.Logging, 2.1.0"
#:package Raycynix.Extensions.Logging@2.1.0
#addin nuget:?package=Raycynix.Extensions.Logging&version=2.1.0
#tool nuget:?package=Raycynix.Extensions.Logging&version=2.1.0
Raycynix.Extensions.Logging
Raycynix.Extensions.Logging provides structured logging services, typed logger adapters, and Serilog host integration for Raycynix applications.
What it contains
AddRaycynixLogging(...)AddRaycynixLogging()UseRaycynixLogging(this IHostBuilder, ...)LoggingBuilderLoggingConfiguration- Serilog-backed
ILogger<T>implementation - Console sink setup
- Serilog integration hooks for optional packages
What it does not contain
- Elasticsearch sink integration
- Provider-specific log shipping packages
- ASP.NET Core middleware
Use Raycynix.Extensions.Logging.Elastic when logs should be written to Elasticsearch.
appsettings.json
{
"LoggingConfiguration": {
"ServiceName": "orders-api",
"ServiceVersion": "1.0.0",
"Environment": "Production",
"MinimumLevel": "Information",
"OutputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] [{ServiceName}] [{ServiceVersion}] [Env:{Environment}] {Message:lj}{NewLine}{Exception}"
}
}
Usage
Host.CreateDefaultBuilder(args)
.UseRaycynixLogging()
.ConfigureServices((context, services) =>
{
services.AddRaycynixLogging(context.Configuration);
services.AddHostedService<AppWorker>();
});
For default settings without configuration binding:
Host.CreateDefaultBuilder(args)
.UseRaycynixLogging()
.ConfigureServices(services =>
{
services.AddRaycynixLogging();
});
Runtime overrides are applied to the same LoggingConfiguration instance that optional integrations receive:
Host.CreateDefaultBuilder(args)
.UseRaycynixLogging(options =>
{
options.ServiceName = "orders-worker";
options.MinimumLevel = LogLevel.Debug;
})
.ConfigureServices((context, services) =>
{
services.AddRaycynixLogging(context.Configuration);
});
Optional integrations
Optional sinks are added through LoggingBuilder. When the integration needs its own configuration section, use the configuration overload:
Host.CreateDefaultBuilder(args)
.UseRaycynixLogging()
.ConfigureServices((context, services) =>
{
services
.AddRaycynixLogging(context.Configuration)
.AddElastic();
});
UseRaycynixLogging() must still be called on the host builder because it connects Serilog to the generic host.
If AddRaycynixLogging(...) is not registered, UseRaycynixLogging() falls back to the host LoggingConfiguration section and default values.
Injecting the typed logger
public sealed class OrderProcessor(ILogger<OrderProcessor> logger)
{
public void Process(string orderId)
{
logger.Information("Processing order {OrderId}", orderId);
}
}
AddRaycynixLogging(context.Configuration) also registers LoggingConfiguration through the Raycynix configuration pipeline and validates it on startup.
| 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
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.DependencyModel (>= 10.0.7)
- Microsoft.Extensions.Logging (>= 10.0.7)
- Raycynix.Extensions.Configuration (>= 2.0.0)
- Raycynix.Extensions.Configuration.Abstractions (>= 2.0.0)
- Raycynix.Extensions.Logging.Abstractions (>= 2.1.0)
- Serilog.AspNetCore (>= 10.0.0)
- Serilog.Enrichers.Environment (>= 3.0.1)
- Serilog.Exceptions (>= 8.4.0)
- Serilog.Extensions.Hosting (>= 10.0.0)
- Serilog.Extensions.Logging (>= 10.0.0)
- Serilog.Formatting.Compact (>= 3.0.0)
- Serilog.Settings.Configuration (>= 10.0.0)
- Serilog.Sinks.Console (>= 6.1.1)
- Serilog.Sinks.Debug (>= 3.0.0)
- Serilog.Sinks.File (>= 7.0.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Raycynix.Extensions.Logging:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Database
Core Raycynix EF Core database infrastructure with shared DbContext registration, custom context support, model assembly discovery, provider validation, initialization, and model-cache integration. |
|
|
Raycynix.Extensions.Tracing
Core tracing registration, ActivitySource-based tracer services, and distributed tracing composition for Raycynix applications. |
|
|
Raycynix.Extensions.Observability
Core observability composition for Raycynix applications, combining logging, metrics, tracing, and ambient operation context registration into a single infrastructure surface. |
|
|
Raycynix.Extensions.Logging.Elastic
Elasticsearch sink integration for Raycynix Serilog-based logging. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Logging 2.1.0 modularizes optional sinks: Elasticsearch support now lives in Raycynix.Extensions.Logging.Elastic, while the base package provides typed logging, Serilog host integration, configuration binding, and console output.