更新: 我这里有一个非常简单的例子。既不工作File也不AzureBlobStorage工作。此外,如果AzureBlobStorage设置了,它会在尝试加载时遇到异常Blazor_Logger_bug.styles.css- 这解释了为什么启用此功能时页面无法呈现。
我已经转而编写自己的记录器(比我尝试使用 Serilog 花费的时间更少)。但想警告其他人,它似乎不起作用,并会在您的应用程序中导致不相关的问题。
我在 Blazor 服务器应用程序中使用此功能(Serilog 到文件接收器工作正常)时遇到各种问题。
如果我设置如下:
var _logger = new LoggerConfiguration()
.ReadFrom.Configuration(config)
.CreateLogger();
Log.Logger = _logger;
builder.Logging.AddSerilog(Log.Logger);
Run Code Online (Sandbox Code Playgroud)
然后它会成功记录到 Azure BLOB。但我有以下问题:
如果我设置如下:
builder.Logging.AddSerilog();
Run Code Online (Sandbox Code Playgroud)
然后网页就可以正常显示了。但我有以下问题:
如果我将其设置如下:
builder.Host.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration);
});
Run Code Online (Sandbox Code Playgroud)
然后网页就可以正常显示了。
但我有以下两个问题:
完整的相关代码是:
if (builder.Environment.IsDevelopment())
{
builder.Logging.ClearProviders();
builder.Logging.AddJsonConsole();
builder.Logging.AddDebug();
}
builder.Logging.AddSerilog();
Run Code Online (Sandbox Code Playgroud)
相关配置是:
"Serilog": {
"Using": [ "Serilog.Sinks.File", "Serilog.Sinks.AzureBlobStorage" ],
"MinimumLevel": {
"Default": "Warning",
"Override": { …Run Code Online (Sandbox Code Playgroud) serilog blazor blazor-server-side serilog-aspnetcore serilog-sinks-azureblobstorage