Asp.net core 哪些日志作用域是现成的?
我想在记录内容时包含请求的完全限定URL。如果可用,我希望在日志模板中使用事件日志作用域(serilog中的上下文属性),如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
{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序列化某些东西。