Intégration du sink Serilog
Envoyez des logs structurés depuis vos applications .NET directement vers Radianz
Aperçu
Qu'est-ce que le sink Serilog ?
Le package NuGet Serilog.Sinks.Radianz est un sink Serilog qui envoie les événements de log structurés directement vers la plateforme Radianz. Les logs sont mis en lots et envoyés de manière asynchrone avec réessai et backoff exponentiel — zéro impact sur les performances de votre application. Supporte les transports HTTP et Azure Service Bus.
Comment ça fonctionne
Installation
Installez le package NuGet depuis nuget.org
Étape 1 — Installer le package
Ajoutez le package NuGet Serilog.Sinks.Radianz à votre projet :
dotnet add package Serilog.Sinks.RadianzConfiguration
Configurez le sink avec vos identifiants Radianz
Démarrage rapide
Configurez Serilog avec le sink HTTP Radianz. Remplacez clientId et apiKey par vos identifiants réels :
using Serilog;
using Serilog.Sinks.Radianz.Extensions;
Log.Logger = new LoggerConfiguration()
.WriteTo.RadianzHttp(
clientId: "your-client-id",
apiKey: "your-api-key")
.CreateLogger();
Log.Information("Hello from {AppName}!", "MyApp");Intégration ASP.NET Core
Pour les applications ASP.NET Core, utilisez l'intégration du host builder pour lire les identifiants depuis la configuration :
builder.Host.UseSerilog((ctx, lc) => lc
.WriteTo.RadianzHttp(
clientId: ctx.Configuration["Radianz:ClientId"],
apiKey: ctx.Configuration["Radianz:ApiKey"])
.WriteTo.Console());clientId est le Client ID de l'application et votre apiKey est le jeton API.Options de configuration
| Option | Type | Par défaut | Description |
|---|---|---|---|
clientId | string | — | Client ID pour l'authentification (requis) |
apiKey | string | — | Clé API pour l'authentification (requis) |
baseUrl | string | https://radianz.io | URL de base de l'instance Radianz |
restrictedToMinimumLevel | LogEventLevel | Verbose | Niveau de log minimum à envoyer |
batchSizeLimit | int | 50 | Nombre maximum d'événements par lot |
batchPeriod | TimeSpan | 5s | Temps maximum avant de vider le lot |
queueLimit | int | 10000 | Nombre maximum d'événements en file avant suppression |
Configuration avancée
Ajustez finement les options de mise en lots, réessai et transport
Mise en lots personnalisée et niveau minimum
Ajustez la taille du lot, la période et le niveau de log minimum pour contrôler le volume et la fréquence :
.WriteTo.RadianzHttp(
clientId: "your-client-id",
apiKey: "your-api-key",
restrictedToMinimumLevel: LogEventLevel.Warning,
batchSizeLimit: 100,
batchPeriod: TimeSpan.FromSeconds(10))Options complètes via Action
Pour un contrôle complet sur tous les paramètres, utilisez la configuration par action :
.WriteTo.Radianz(options =>
{
options.TransportType = RadianzTransportType.Http;
options.HttpOptions = new HttpTransportOptions
{
ClientId = "your-client-id",
ApiKey = "your-api-key"
};
options.Batching.BatchSizeLimit = 100;
options.Retry.MaxRetryAttempts = 5;
})Transport Azure Service Bus
Au lieu d'envoyer les logs directement par HTTP, vous pouvez les acheminer via Azure Service Bus pour une fiabilité accrue :
.WriteTo.RadianzMessageQueue(
connectionString: "Endpoint=sb://your-ns.servicebus.windows.net/;...",
queueName: "radianz-logs")