很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

2026-03-30 15:201阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计900个文字,预计阅读时间需要4分钟。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

前语:所谓日志(Log)是指系统所记录的某些操作及其结果按时间有序的集合。每个日志文件由日志记录组成,每条日志记录描述了一次独立的系统事件。在通常情况下,系统日志记录了系统运行过程中的关键信息。

前言

所谓日志(Log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合。每个日志文件由日志记录组成,每条日志记录描述了一次单独的系统事件。通常情况下,系统日志是用户可以直接阅读的文本文件,其中包含了一个时间戳和一个信息或者子系统所特有的其他信息。

日志文件为服务器、工作站、防火墙和应用软件等IT资源相关活动记录必要的、有价值的信息,这对系统监控、查询、报表和安全审计是十分重要的。日志文件中的记录可提供以下用途:监控系统资源;审计用户行为;对可疑行为进行告警;确定入侵行为的范围;为恢复系统提供帮助;生成调查报告;为打击计算机犯罪提供证据来源。

WatchDog 是一个使用 C# 开发的开源的轻量监控工具,它可以记录和查看 ASP.NET Core Web 和 WebApi 的实时消息、事件、异常、 Http 请求响应等。

WatchDog功能特性主要有:

  • 实时 HTTP 请求和响应记录
  • 实时异常记录
  • 代码内消息和事件记录
  • 用户友好的查询页面
  • 身份验证
  • 数据定期清除

相关网址:github.com/IzyPro/WatchDog

一、性能监控工具WatchDog的使用

1.安装包

通过 .NET CLI 安装 WatchDog.NET

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

dotnet addpackage WatchDog.NET --version 1.3.2

或者使用包管理器安装

Install-Package WatchDog.NET --version 1.3.2

2.添加引用

默认使用本地文件数据库

builder.Services.AddWatchDogServices();

也可以选择外部的 MSSQL, MySQL & PostgreSQL 数据库

services.AddWatchDogServices(opt => { opt.SetExternalDbConnString = "DbConnString"; opt.SqlDriverOption = WatchDogSqlDriverEnum.PostgreSql; });

3.配置 WatchDog 中间件

//配置中间件 app.UseWatchDog(opt => { opt.WatchPageUsername = "admin"; opt.WatchPagePassword = "123456"; });

4.运行程序

4.1 登录页面

访问 /watchdog 路径,账号密码就是中间件配置的

4.2 查看 Http 请求和响应

访问localhost:7018/WeatherForecast/

4.3 查看异常信息

4.4 记录日志信息

using Microsoft.AspNetCore.Mvc; using WatchDog; namespace WebApiTest.Controllers { [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger<WeatherForecastController> _logger; public WeatherForecastController(ILogger<WeatherForecastController> logger) { _logger = logger; } [HttpGet(Name = "GetWeatherForecast")] public IEnumerable<WeatherForecast> Get() { try { throw new Exception("User is already registered!"); } catch (Exception e) { WatchLogger.Log(@$"我是看门狗日志:{e.Message}-{e.Data}"); } return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }) .ToArray(); } } }

本文共计900个文字,预计阅读时间需要4分钟。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

前语:所谓日志(Log)是指系统所记录的某些操作及其结果按时间有序的集合。每个日志文件由日志记录组成,每条日志记录描述了一次独立的系统事件。在通常情况下,系统日志记录了系统运行过程中的关键信息。

前言

所谓日志(Log)是指系统所指定对象的某些操作和其操作结果按时间有序的集合。每个日志文件由日志记录组成,每条日志记录描述了一次单独的系统事件。通常情况下,系统日志是用户可以直接阅读的文本文件,其中包含了一个时间戳和一个信息或者子系统所特有的其他信息。

日志文件为服务器、工作站、防火墙和应用软件等IT资源相关活动记录必要的、有价值的信息,这对系统监控、查询、报表和安全审计是十分重要的。日志文件中的记录可提供以下用途:监控系统资源;审计用户行为;对可疑行为进行告警;确定入侵行为的范围;为恢复系统提供帮助;生成调查报告;为打击计算机犯罪提供证据来源。

WatchDog 是一个使用 C# 开发的开源的轻量监控工具,它可以记录和查看 ASP.NET Core Web 和 WebApi 的实时消息、事件、异常、 Http 请求响应等。

WatchDog功能特性主要有:

  • 实时 HTTP 请求和响应记录
  • 实时异常记录
  • 代码内消息和事件记录
  • 用户友好的查询页面
  • 身份验证
  • 数据定期清除

相关网址:github.com/IzyPro/WatchDog

一、性能监控工具WatchDog的使用

1.安装包

通过 .NET CLI 安装 WatchDog.NET

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

dotnet addpackage WatchDog.NET --version 1.3.2

或者使用包管理器安装

Install-Package WatchDog.NET --version 1.3.2

2.添加引用

默认使用本地文件数据库

builder.Services.AddWatchDogServices();

也可以选择外部的 MSSQL, MySQL & PostgreSQL 数据库

services.AddWatchDogServices(opt => { opt.SetExternalDbConnString = "DbConnString"; opt.SqlDriverOption = WatchDogSqlDriverEnum.PostgreSql; });

3.配置 WatchDog 中间件

//配置中间件 app.UseWatchDog(opt => { opt.WatchPageUsername = "admin"; opt.WatchPagePassword = "123456"; });

4.运行程序

4.1 登录页面

访问 /watchdog 路径,账号密码就是中间件配置的

4.2 查看 Http 请求和响应

访问localhost:7018/WeatherForecast/

4.3 查看异常信息

4.4 记录日志信息

using Microsoft.AspNetCore.Mvc; using WatchDog; namespace WebApiTest.Controllers { [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger<WeatherForecastController> _logger; public WeatherForecastController(ILogger<WeatherForecastController> logger) { _logger = logger; } [HttpGet(Name = "GetWeatherForecast")] public IEnumerable<WeatherForecast> Get() { try { throw new Exception("User is already registered!"); } catch (Exception e) { WatchLogger.Log(@$"我是看门狗日志:{e.Message}-{e.Data}"); } return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }) .ToArray(); } } }