我有以下代码来启用记录 SignalR 调用的跟踪日志。然而,代码不起作用?
using Microsoft.Extensions.Logging;
using SeriLog;
var seriLoglogger = new LoggerConfiguration() // SeriLog.Core.Logger?
.WriteTo.Console()
.WriteTo.File(...)
.CreateLogger();
var loggerFactory = LoggerFactory.Create(builder => Builder.AddSerilog(seriLogLogger));
var logger = loggerFactory.CreateLogger("...");
logger.LogInformation("This works"); // This line works
var hubConnection = new HubConnectionBuilder()
.WithUrl(...)
.ConfigureLogging(logging =>
{
logging.AddSerilog(seriLoglogger);
logging.SetMinimumLevel(LogLevel.Trace);
}
如果我在
.ConfigureLogging(logging => { .... }
中添加以下行,我可以在屏幕上看到跟踪日志。
logging.AddSystemdConsole(o => { ... });
或 记录.AddConsole();
然而,它没有
logging.AddFile()
?
即使您已将
HubConnectionBuilder
的日志记录设置为在跟踪级别发出,但您使用的 Serilog 记录器不是,正如您通过添加此行所看到的:
logger.LogTrace("This doesn't work");
Serilog的“Trace”版本是“Verbose”,可以在这里设置:
var seriLoglogger = new LoggerConfiguration()
.MinimumLevel.Verbose() // Emit "Trace"-level logs.
.WriteTo.Console()
...