长话短说
前文《解剖HttpClientFactory,自由扩展HttpMessageHandler》主要想讲如何扩展HttpMessageHandler, 示例为在每个Http请求中的日志中显示TraceId,
现在来完成课后的小作业: 将TraceId显示到Nlog的LayoutRenderer上。
本次重新实现一个流畅简单的 LoggingHttpMessageHandler, 并添加到NLog LayoutRenderer。
什么是Layout Renderer?
nlog 日志上显示的特定字段,便于检索和分类。
头脑风暴
先给出自定义Renderer,定义名为eqid的自定义Renderer
# 截取自 nlog.config配置文件 <variable name="format1" value="${date:format=yy/MM/dd HH\:mm\:ss} [${level}].[${logger}].[${threadid}}].[${aspnet-request-url:IncludeScheme=false:IncludeHost=false}].[${eqid}]${newline}${message} ${exception:format=tostring}" /> <target name="bce-request" xsi:type="File" layout="${format1}"