基于OpenTelemetry与Serilog的集中式日志配置集成改造咨询
基于OpenTelemetry与Serilog的集中式日志配置集成改造咨询
我目前正在为OpenTelemetry日志使用集中式配置,每个服务启动时都会直接在Program.cs里调用这个配置。
通过这套配置,我可以把所有日志发送到自己配置好的OTel Collector实例中。
对应的代码实现如下:
private static IServiceCollection AddTelemetryLogging(this IServiceCollection services, ISystemConfiguration systemConfiguration) { IOpenTelemetryObservabilityConfiguration otelConfiguration = systemConfiguration.GetOtelConfiguration(); services.AddLogging(loggingBuilder => { var resourceBuilder = ResourceBuilder .CreateDefault() .AddService(otelConfiguration.ServiceName); loggingBuilder.ClearProviders(); loggingBuilder.AddConsole(); loggingBuilder.AddDebug(); loggingBuilder .AddOpenTelemetry(options => { options .SetResourceBuilder(resourceBuilder) .AddOtlpExporter(options => { options.Endpoint = new Uri(otelConfiguration.CollectorUri); options.ExportProcessorType = ExportProcessorType.Batch; options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.Grpc; }) .IncludeScopes = true; }); }); return services; }
现在我想引入Serilog来使用它提供的额外功能,请问是否可以保持配置的集中化,只在这个方法里添加必要的代码就能实现呢?
备注:内容来源于stack exchange,提问作者Mammt
相关产品推荐
相关产品推荐

