我写了一个中间件,记录了ASP.NET的REST-Service的传入/传出流量和异常。我正在使用的记录器是NLog,我想在两次调用之间打印一条分隔线,以使其更加清晰可见。为此,该行应始终可见。
最好的情况是一行,没有任何日期,例如:
============================================= < / p>
2019-07-11 16:02:29.7280 | INFO |向XXX请求
2019-07-11 16:02:34.7781 |错误|捕获的异常:Baaaaad
2019-07-11 16:02:34.7781 |信息|响应:空
到目前为止,我发现最好的解决方案是使用最高日志级别进行写入,但是我不希望该行显示为fatal
。还有其他方法可以实现这一目标吗?
当前记录器配置:
<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<targets>
<target name="logconsole" xsi:type="Console" />
</targets>
<rules>
</rules>
</nlog>
答案 0 :(得分:0)
为什么不这样做:
logger.Info("Call Begin Header{0}==============================================", System.Environment.NewLine);
应输出以下内容:
2019-07-11 16:02:29.7280 | INFO |呼叫开始标题 ==========================================
如果要使用单个标头将属于单个请求的所有日志消息分组。然后,我认为您应该创建一个日志查看器(也许基于Web),该日志查看器可以基于requestid / correlationid提供日志消息分组。