Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 哪些日志作用域是现成的?_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

Asp.net core 哪些日志作用域是现成的?

Asp.net core 哪些日志作用域是现成的?,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我想在记录内容时包含请求的完全限定URL。如果可用,我希望在日志模板中使用事件日志作用域(serilog中的上下文属性),如{RequestUrl}。如何知道是否已经有可用的属性可供使用,或者是否必须手动执行此操作 我知道以下属性: ActionId ActionName // Like ActionId from aspnet/Mvc (Microsoft.AspNetCore.Mvc.Internal.MvcCoreLoggerExtensions.ActionLogScope ) Le

我想在记录内容时包含请求的完全限定URL。如果可用,我希望在日志模板中使用事件日志作用域(serilog中的上下文属性),如
{RequestUrl}
。如何知道是否已经有可用的属性可供使用,或者是否必须手动执行此操作

我知道以下属性:

ActionId 
ActionName // Like ActionId from aspnet/Mvc (Microsoft.AspNetCore.Mvc.Internal.MvcCoreLoggerExtensions.ActionLogScope ) 
Level // Gives the level e.g. Warning
RequestId // Can be used for event correlation
RequestPath // Like RequestId from aspnet/Hosting (Microsoft.AspNetCore.Hosting.Internal.HostingLoggerExtensions.HostingLogScope)
SourceContext // Probably from serilog. Gives the TCategoryName of the ILogger e.g. MyNamespace.MyController

其中是请求期间默认支持的所有属性的概述?或者可以在运行时获取所有可用属性吗?

您应该能够在上下文前面使用@operator来告诉Serilog序列化传入的对象

_logger.LogInformation("{@context}!", context);

官方不用多说……如果你已经连接了Seq,你可以从stream运行
selectnames()
来获得一个已记录属性的独特列表。我不确定这是否有帮助,但我想不出其他什么。祝你好运@NicholasBlumhardt不幸的是,我没有使用Seq:(也许使用它的人可以给出完整的属性列表。对不起,我的问题不是如何用Serilog序列化某些东西。