feat: switching to logging via OpenTelemetry

This commit is contained in:
2025-08-05 15:47:35 +03:00
parent 802acad570
commit 46046d589e
5 changed files with 47 additions and 32 deletions

View File

@@ -23,6 +23,7 @@ using Mirea.Api.Security.Services;
using MySqlConnector;
using Npgsql;
using Serilog;
using Serilog.Sinks.OpenTelemetry;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
@@ -434,26 +435,32 @@ public class SetupController(
}
};
if (!string.IsNullOrEmpty(request?.ApiServerSeq))
if (!string.IsNullOrEmpty(request?.OpenTelemetryEndpoint)
&& !string.IsNullOrEmpty(request.OpenTelemetryServiceName))
{
settings.ApiServerSeq = request.ApiServerSeq;
settings.ApiKeySeq = request.ApiKeySeq;
settings.OpenTelemetryEndpoint = request.OpenTelemetryEndpoint;
settings.OpenTelemetryServiceName = request.OpenTelemetryServiceName;
try
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Seq(settings.ApiServerSeq, apiKey: settings.ApiKeySeq)
using var innerLogger = new LoggerConfiguration()
.WriteTo.OpenTelemetry(options =>
{
options.Endpoint = settings.OpenTelemetryEndpoint;
options.Protocol = OtlpProtocol.Grpc;
options.ResourceAttributes = new Dictionary<string, object>
{
["service.name"] = settings.OpenTelemetryServiceName,
["deployment.environment"] = "test"
};
})
.CreateLogger();
Log.Warning("Testing configuration Seq.");
innerLogger.Warning("🚀 Testing OpenTelemetry log delivery.");
}
catch
catch (Exception ex)
{
// ignoring
}
finally
{
Log.CloseAndFlush();
Console.WriteLine("Error sending log to OTEL Collector: " + ex.Message);
}
}
@@ -476,9 +483,7 @@ public class SetupController(
{
EnableLogToFile = settings.EnableLogToFile,
LogFileName = settings.LogFileName,
LogFilePath = settings.LogFilePath,
ApiKeySeq = settings.ApiKeySeq,
ApiServerSeq = settings.ApiServerSeq
LogFilePath = settings.LogFilePath
});
return true;