查看原文
其他

介绍一个.NET 远程日志组件

DotNet 2024-04-12

推荐关注↓

前言
对于软件开发的阶段和正式运行阶段,我们都需要查看日志来诊断出现的问题。不过,在查看日志时需要登录服务器,找到特定的日志文件,再查看其中的内容,这显然不是很方便。
为了解决这个问题,我们可以使用远程日志,让所有的程序产生的日志都可以通过一个 web 页面进行统一查看。这种方式可以使得维护工作更加方便。
Jack.RemoteLog 是一个提供全文检索功能的远程日志组件,仅需要简单的安装和配置即可使用。

部署日志服务器程序

首先,我们先部署一下RemoteLog的服务器端。

直接下载运行

https://cccscls-my.sharepoint.com/:f:/g/personal/jack_mutc_ca/Et7VbP7sX31EiN-NQkPL0RgBL5RBG15_PyepR5Tx0PaqsQ?e=BTngox

下载对应操作系统的RemoteLogServer压缩文件,解压后,运行Jack.RemoteLog.WebApi.exe(windows)或者Jack.RemoteLog.WebApi(linux)

可以用Docker安装‍

docker pull jackframework/jackremotelogwebapi:latest

程序中使用RemoteLog

在appsettings.json文件中,设置日志服务器url

"Logging": {
  "ServerUrl": "http://127.0.0.1:9000",
  "ContextName": "YourContextName",
  "LogLevel": {
    "Default": "Debug"
  },
  "Console": {
    "LogLevel": {
      "Default": "Information"
    }
  }
}

在工程中引用 nuget 包:Jack.RemoteLog

注册 Jack.RemoteLog 为底层日志处理引擎

services.AddLogging(builder =>
{
    builder.AddConfiguration(configuration.GetSection("Logging"));
    builder.AddConsole();
    builder.UseJackRemoteLogger(configuration);
});

如果 RemoteLog 服务器端设置了身份验证,则这里需要设置用户名、密码

services.AddLogging(builder =>
{
    builder.AddConfiguration(configuration.GetSection("Logging"));
    builder.AddConsole();
    builder.UseJackRemoteLogger(configuration , new Options 
    {
           UserName = "",
           Password = ""
    });
});

当你使用 ILogger 接口实例来记录信息时,该信息将被记录到日志服务器。

而要查看服务器上的所有日志,你可以通过浏览器打开 http://127.0.0.1:9000,然后可以轻松地获取你的程序日志以进行监视和分析。

源码地址

https://github.com/simpleway2016/JackRemoteLog

转自:IWing

链接:cnblogs.com/IWings/p/17324713.html

- EOF -

推荐阅读  点击标题可跳转

.NET Core 工作流WorkFlowCore

C# 最完善的表达式树 Expression.Dynamic的玩法

彻底弄懂C# 中 delegate、event、EventHandler、Action、Func的使用和区别

看完本文有收获?请转发分享给更多人

推荐关注「DotNet」,提升.Net技能 

点赞和在看就是最大的支持❤️

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存