首页 > 解决方案 > 写一个没有日期的分隔线

问题描述

我编写了一个中间件,使用 ASP.NET 记录我的 REST 服务的传入/传出流量和异常。我使用的记录器是 NLog,我想在调用之间打印一条分隔线,以使它们更好地可见。为此,该线应始终可见。

最好的情况是没有任何日期的单行,例如:

===============================================

2019-07-11 16:02:29.7280|信息|请求 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>

标签: c#.netnlog

解决方案


为什么不这样做:

logger.Info("Call Begin Header{0}==============================================", System.Environment.NewLine);

应输出以下内容:

2019-07-11 16:02:29.7280|INFO|呼叫开始标题 ================================== =============

如果您希望使用单个标头对属于单个请求的所有日志消息进行分组。然后我认为你应该创建一个日志查看器(可能是基于 Web 的),它可以提供基于 requestid/correlationid 的日志消息分组。


推荐阅读