Raycynix.Extensions.Logging
2.0.0
dotnet add package Raycynix.Extensions.Logging --version 2.0.0
NuGet\Install-Package Raycynix.Extensions.Logging -Version 2.0.0
<PackageReference Include="Raycynix.Extensions.Logging" Version="2.0.0" />
<PackageVersion Include="Raycynix.Extensions.Logging" Version="2.0.0" />
<PackageReference Include="Raycynix.Extensions.Logging" />
paket add Raycynix.Extensions.Logging --version 2.0.0
#r "nuget: Raycynix.Extensions.Logging, 2.0.0"
#:package Raycynix.Extensions.Logging@2.0.0
#addin nuget:?package=Raycynix.Extensions.Logging&version=2.0.0
#tool nuget:?package=Raycynix.Extensions.Logging&version=2.0.0
Raycynix.Extensions.Logging
Raycynix.Extensions.Logging provides structured logging services and generic-host integration for Raycynix applications.
What it contains
AddRaycynixLogging(...)AddRaycynixLogging(IConfiguration, ...)UseRaycynixLogging(this IHostBuilder ...)LoggingConfiguration- Serilog-based logger implementation
appsettings.json
{
"LoggingConfiguration": {
"ServiceName": "orders-api",
"ServiceVersion": "1.0.0",
"Environment": "Production",
"MinimumLevel": "Information",
"UseElastic": false,
"ElasticUrl": "http://localhost:9200",
"OutputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] [{ServiceName}] [{ServiceVersion}] [Env:{Environment}] {Message:lj}{NewLine}{Exception}"
}
}
Usage
var builder = Host.CreateDefaultBuilder(args)
.UseRaycynixLogging()
.ConfigureServices(services =>
{
services.AddRaycynixLogging(builder.Configuration);
services.AddHostedService<AppWorker>();
});
await builder.RunConsoleAsync();
You can also override bound settings in code:
Host.CreateDefaultBuilder(args)
.UseRaycynixLogging(options =>
{
options.ServiceName = "orders-worker";
options.MinimumLevel = LogLevel.Debug;
options.UseElastic = true;
options.ElasticUrl = "http://elastic:9200";
})
.ConfigureServices(services =>
{
services.AddRaycynixLogging();
});
Injecting the typed logger
public sealed class OrderProcessor(ILogger<OrderProcessor> logger)
{
public void Process(string orderId)
{
logger.Information("Processing order", new { OrderId = orderId });
}
}
AddRaycynixLogging(builder.Configuration) also registers LoggingConfiguration through the standard Raycynix configuration pipeline and validates it on startup.
This package is not tied to ASP.NET Core middleware and can be used in web, worker, and console applications built on the generic host.
| 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.Channels (>= 0.41.2)
- Elastic.Ingest.Elasticsearch (>= 0.41.2)
- Elastic.Serilog.Sinks (>= 9.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.6)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.6)
- Microsoft.Extensions.DependencyInjection (>= 10.0.6)
- Microsoft.Extensions.DependencyModel (>= 10.0.6)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Logging (>= 10.0.6)
- Raycynix.Extensions.Common (>= 1.0.1)
- Raycynix.Extensions.Configuration (>= 1.0.1)
- Raycynix.Extensions.Configuration.Abstractions (>= 1.0.1)
- Raycynix.Extensions.Logging.Abstractions (>= 2.0.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 (3)
Showing the top 3 NuGet packages that depend on Raycynix.Extensions.Logging:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Database
Core shared database registration, DatabaseContext infrastructure, model assembly discovery, explicit provider-package composition, and provider-agnostic EF Core model caching for Raycynix applications. |
|
|
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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
BREAKING CHANGE: logging APIs now use message-template arguments instead of metadata payload objects. Fixed correlation id enrichment and null suffixes in rendered log output.