Program.cs スタートアップ コードの新しい構造が最近導入されて以来、ドキュメントが少し混乱しています。
公式に提供されたSerilog.AspNetCore
例そして、Serilog.Sentry
例、彼らは.UseSerilog()
で使用しますWebHostBuilder
。この方法が見つかりません。
私が試したのはこれです:
using Serilog;
var builder = WebApplication.CreateBuilder(args);
// adding services...
builder.Logging.AddSerilog(); // <- is this even necessary?
var app = builder.Build();
app.UseSerilogRequestLogging();
// configure request pipeline
app.Run();
でも、どうすればシンクを構成するたとえば、Debug、Console、Sentry などでしょうか? ドキュメントが少し古くなっているか、私が少し盲目になっているような気がします。
ベストアンサー1
次のパッケージがインストールされていることを確認する必要があります。
- セリログ
- Serilog.Extensions.Hosting (これは
.UseSerilog
拡張メソッドを提供します。Serilog.AspNetCore パッケージがある場合は、これを明示的に含める必要はありません)
次に、次のものが必要になりますusing
:
using Serilog;
.UseSerilog
これにより、次の方法でアクセスできるようになりますbuilder.Host
:
using Serilog;
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseSerilog();
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
別のオーバーロードを使用して、ホスティング コンテキスト、サービス、および構成を取得できます。そこから、シンクなどを構成できます。
builder.Host.UseSerilog((hostContext, services, configuration) => {
configuration.WriteTo.Console();
});