当前位置: 首页 > 网络应用技术

如何在ASP.NET Core 6中使用跟踪监视器6

时间:2023-03-09 11:49:46 网络应用技术

  当使用ASP.NET Core 6构建的应用程序时,您通常需要使用跟踪和记录来监视应用程序的性能和诊断。您还可以在生产环境中使用跟踪来测量运行时应用程序的性能。

  本文讨论了我们如何在ASP.NET Core中使用跟踪。6。我们将研究如何使用跟踪监视器来收集跟踪信息并使用ILOGGER来跟踪事件日志的输出。

  要使用本文提供的代码示例,应在系统中安装Visual Studio 2022。如果您还没有副本,则可以在此处下载Visual Studio 2022。

  首先,让我们在Visual Studio 2022中创建一个ASP.NET核心项目。根据这些步骤,将在Visual Studio 2022中创建一个新的ASP.NET Core 6 Web API项目。

  我们将使用此ASP.NET Core 6 Web API项目在本文的后续部分中使用以下内容。

  与主事件的事件日志相比,跟踪可以更好地了解操作中的应用程序及其组件。该日志由结构化或非结构性时间戳数据组成,显示您应用程序中事件的记录。跟踪提供更多信息。单个请求的可见性及其处理方式。

  System.Diagnostics包括跟踪和调试类。跟踪类用于生产环境,并且在开发过程中使用调试类。

  跟踪通常包括以下三个阶段。

  跟踪跟踪信息,存储它们并将其引导到适当的目标,例如文本文件。.NET提供多个跟踪监视器,包括以下内容。

  system.diagnostics.debug and system.diagnostics.trace类可以向跟踪显示器发送消息,并且监视器将消息发送给适当的目标。

  您可以使用配置文件或编写自定义代码创建跟踪监视器。下面显示的代码表显示了如何使用应用程序配置文件创建跟踪监视器。

  所有添加到侦听器集合中的侦听器都将接收跟踪输出。

  以下代码说明了一个监视器,该监视器未添加到侦听器集合中,但是它仍然可以将跟踪信息发送到输出窗口,文件或任何预配置的输出。

  在大多数情况下,附加到.NET 6默认值的跟踪监视器将满足您的要求。但是,如果您想将跟踪信息输出到不同的目的地,则可以实现自己的跟踪监视器。

  要构建自定义跟踪监视器,您应该创建一个延长tracelistener摘要类的类。tracelistener类中有几种虚拟和抽象方法。您至少应该实现Write and Writeline方法。至少,您的自定义跟踪监视器应应看起来像这样。

  因此,您的自定义跟踪监视器类必须具有参数构造函数和写入和写入方法。

  您还需要一个ILOGGER实例来表示录音机,创建录音机的录音机工厂以及存储跟踪消息的StringBuilder,然后将其发送到日志目标。

  您可以使用依赖注入的优势将iLoggerFactory的实例注入构造函数,然后使用此实例创建Ilogger实例。

  这是写入和写入方法的最低实现。

  以下是我们最小实施自定义跟踪监视器的完整源代码。

  要使用自定义跟踪监视器,您应该使用以下代码将其注册在侦听器集合中。

  因为我们的自定义跟踪监视器已添加到侦听器集中,所以它将捕获运行时生成的所有跟踪消息并将输出发送到我们的录音机。前面的示例)。

  因此,添加到侦听器集合中的任何侦听器都可以捕获运行时生成的跟踪信息,以及在应用程序中清楚发送的任何跟踪信息。在应用程序中。它不会捕获运行时生成的任何跟踪消息。

  使用自定义跟踪监视器时,您必须记住关闭或刷新跟踪监视器,以确保清除输出缓冲区。您可以使用StringBuilderCache类使用StringBuilder(在CustomTraceListener类中)来优化代码。