WatchDog(看门狗):一个开源免费的 .NET 轻量级监控神器
|
admin
2026年2月4日 16:27
本文热度 83
|
WatchDog 是给 ASP.NET Core 开发者准备的一只“看门狗”,专门盯着你的 Web 应用和 API。它会把 消息、事件、HTTP 请求/响应,甚至你写代码时手滑搞出来的 异常,全部实时扒给你看——不用 F5,不用刷新,错误自己会跳出来认主人。
它靠 SignalR 实时推消息,嗖一下日志就来了;默认用 LiteDB 当它的小窝,零配置、无服务器,用起来跟宠物一样省心。当然,你要是想让它住豪宅,也能换成 MSSQL、MySQL、PostgreSQL、MongoDB 这些大数据库。

主要特性
实时 HTTP 请求、响应与异常日志 打个比方,你的接口刚被调,它的请求、响应、甚至异常,马上就“蹦”到界面上。不用刷,不用等,WatchDog 比你还急着告诉你发生了啥。
代码内消息 & 事件日志记录 想在某个逻辑点打个小纸条提醒自己?用 WatchDog 的 in-code 日志就行,写一行代码,日志立刻同步给你看。
超友好的日志查看界面 不用费劲找,不用学操作,打开就能看懂。界面清爽到你看日志和刷朋友圈差不多顺手。
HTTP & 异常日志搜索功能 日志多到翻不过来?没事,支持关键字搜索,定位问题像 Ctrl+F 一样简单。
日志界面可加认证 不想让别人看你家后院?加个认证,只有“本家人”才能进来看日志。
自动清理日志 懒得手动删?交给 WatchDog,它会定期帮你把旧日志收拾得干干净净。

如何使用
通过 .NET CLI 安装
dotnet add package WatchDog.NET --version 1.4.12
要使 WatchDog 能够监听请求,请使用 WatchDog 提供的 WatchDog 中间件。
在 Startup.cs 的 ConfigureService() 中注册 WatchDog 服务。
services.AddWatchDogServices();
设置自动清除日志,此操作会在特定时间后清除日志。
services.AddWatchDogServices(opt =>
{
opt.IsAutoClear = true;
opt.ClearTimeSchedule = WatchDogAutoClearScheduleEnum.Monthly;
});
置日志记录到外部数据库(MSSQL、MySQL、PostgreSQL 和 MongoDB).
services.AddWatchDogServices(opt =>
{
opt.IsAutoClear = true;
opt.SetExternalDbConnString = "Server=localhost;Database=testDb;User Id=postgres;Password=root;";
opt.DbDriverOption = WatchDogDbDriverEnum.PostgreSql;
});

该文章在 2026/2/4 16:27:20 编辑过