我们有一个.net核心web,我们使用了Microsoft.Extensions.Logging命名空间中可用的内置记录器。
我们已经将这个记录器与Application集成在一起。
我能看到所有的日志都被正确地记录了。但是,我无法看到范围内的日志记录信息。
下面是我的代码:
var taskId = Guid.NewGuid();
using (logger.BeginScope("Assigning Task {taskId}.",taskId))
{
logger.LogInformation("{taskId} is assigned",taskId);
}我可以看到这个输出,其中的作用域日志信息是以“{原始格式}”来完成的。但是,结构化日志并不适用于该字段:

我有以下问题:
发布于 2021-12-06 10:15:59
作用域日志现在在Application中工作(我使用的是2.19.0版本)。与其将格式字符串+ params传递给BeginScope(),不如传递一个名称-值对字典。
using (logger.BeginScope(new Dictionary<string, object>
{ { "TaskId" = taskId }, { "Action", "AssigningTask" } }))
{
..
logger.LogInformation("{taskId} is assigned", taskId);
...
}当然,在这里将taskId放在内部日志消息中有点多余。
https://stackoverflow.com/questions/57250730
复制相似问题