Links
Comment on page

请求追踪

各个日志组件都实现了 TraceIdentifier ,它是单次请求内唯一标识。LogDashboard使用它实现请求追踪功能

示例

在快速开始中的项目中,使用以下配置覆盖 nlog.config
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="myvar" value="myvalue"/>
<targets>
<target xsi:type="file" name="File" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate}||${level}||${logger}||${message}||${exception:format=ToString:innerFormat=ToString:maxInnerExceptionLevel=10:separator=\r\n} || ${aspnet-traceidentifier} ||end" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="file" />
</rules>
</nlog>

RequestTraceLogModel

Logdashboard预构建了RequestTraceLogModel 请求追踪日志模型,它继承自IRequestTraceLogModel 接口,也可以自行实现该接口
在注册服务时使用RequestTraceLogModel 做为自定义日志模型添加到服务中
services.AddLogDashboard(opt =>
{
opt.CustomLogModel<RequestTraceLogModel>();
});
运行项目导航到/logdashboard
enjoy