feat: Aspire serilog
This commit is contained in:
parent
e653b19085
commit
7d8448b560
|
|
@ -9,7 +9,10 @@
|
|||
|
||||
<ItemGroup>
|
||||
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
||||
|
||||
<PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.OpenTelemetry" Version="3.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="8.3.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="8.0.0" />
|
||||
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.8.1" />
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ using Microsoft.Extensions.Diagnostics.HealthChecks;
|
|||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.ServiceDiscovery;
|
||||
using OpenTelemetry;
|
||||
using OpenTelemetry.Logs;
|
||||
using OpenTelemetry.Metrics;
|
||||
using OpenTelemetry.Trace;
|
||||
using Serilog;
|
||||
|
||||
namespace Microsoft.Extensions.Hosting
|
||||
{
|
||||
|
|
@ -44,7 +46,34 @@ namespace Microsoft.Extensions.Hosting
|
|||
public static IHostApplicationBuilder ConfigureOpenTelemetry(this IHostApplicationBuilder builder)
|
||||
{
|
||||
builder.Logging.AddOpenTelemetry(logging =>
|
||||
{
|
||||
{ // Use Serilog
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
// 对请求路径为 / heathz和 / metrics不进行日志记录
|
||||
.Filter.ByExcluding(
|
||||
e => e.Properties.TryGetValue("RequestPath", out var value) && (value.ToString().StartsWith("\"/metrics\"") || value.ToString().StartsWith("\"/healthz\""))
|
||||
)
|
||||
#if DEBUG
|
||||
.MinimumLevel.Information()
|
||||
#else
|
||||
.MinimumLevel.Warning()
|
||||
#endif
|
||||
.WriteTo.Console()
|
||||
.WriteTo.File("logs/log-.txt",
|
||||
shared: true,
|
||||
rollingInterval: RollingInterval.Day)
|
||||
//.WriteTo.OpenTelemetry(options =>
|
||||
//{
|
||||
// options.Endpoint = builder.Configuration["OpenTelemetry:Endpoint"];
|
||||
// options.ResourceAttributes = new Dictionary<string, object>
|
||||
// {
|
||||
// ["service.name"] = builder.Configuration["OpenTelemetry:ServiceName"],
|
||||
// ["index"] = 10,
|
||||
// ["flag"] = true,
|
||||
// ["value"] = 3.14
|
||||
// };
|
||||
//})
|
||||
.CreateLogger();
|
||||
|
||||
logging.IncludeFormattedMessage = true;
|
||||
logging.IncludeScopes = true;
|
||||
});
|
||||
|
|
@ -75,7 +104,10 @@ namespace Microsoft.Extensions.Hosting
|
|||
|
||||
if (useOtlpExporter)
|
||||
{
|
||||
builder.Services.AddOpenTelemetry().UseOtlpExporter();
|
||||
builder.Services.Configure<OpenTelemetryLoggerOptions>(logging => logging.AddOtlpExporter());
|
||||
builder.Services.ConfigureOpenTelemetryMeterProvider(metrics => metrics.AddOtlpExporter());
|
||||
builder.Services.ConfigureOpenTelemetryTracerProvider(tracing => tracing.AddOtlpExporter());
|
||||
|
||||
}
|
||||
|
||||
// Uncomment the following lines to enable the Azure Monitor exporter (requires the Azure.Monitor.OpenTelemetry.AspNetCore package)
|
||||
|
|
|
|||
|
|
@ -7,18 +7,6 @@ using BotSharp.Abstraction.Messaging.JsonConverters;
|
|||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Use Serilog
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
#if DEBUG
|
||||
.MinimumLevel.Information()
|
||||
#else
|
||||
.MinimumLevel.Warning()
|
||||
#endif
|
||||
.WriteTo.Console()
|
||||
.WriteTo.File("logs/log-.txt",
|
||||
shared: true,
|
||||
rollingInterval: RollingInterval.Day)
|
||||
.CreateLogger();
|
||||
builder.Host.UseSerilog();
|
||||
|
||||
string[] allowedOrigins = builder.Configuration.GetSection("AllowedOrigins").Get<string[]>() ?? new[]
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Serilog.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.20.1" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue