对于软件开发的阶段和正式运行阶段,我们都需要查看日志来诊断出现的问题。不过,在查看日志时需要登录服务器,找到特定的日志文件,再查看其中的内容,这显然不是很方便。

为了解决这个问题,我们可以使用远程日志,让所有的程序产生的日志都可以通过一个 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,然后可以轻松地获取你的程序日志以进行监视和分析。

介绍一个.Net远程日志组件的更多相关文章

  1. setbuffer和freopen做一个简单的日志组件

    目标场景是这样的: 多线程的应用程序要频繁打一些小字节的日志,也不想引用很重的日志库. 设想了一个极其简单的日志组件,main线程中重定向stdout到文件,同时setbuffer设置一个10k的缓冲 ...

  2. iOS应用日志:开始编写日志组件与异常日志

    应用日志(一):开始编写日志组件 对于那些做后端开发的工程师来说,看 LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试 ...

  3. 细说java平台日志组件

    1. java.util.logging JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件.支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机.相对于第三方独立日志框架来说, ...

  4. Java日志组件2---Log4j(org.apache.log4j.Logger)

    如果我们在项目中,需要记录的东西并不多,而且也不需要有太多区分,使用jdk的自带Log完全可以解决问题.但是,在开发的过程中,大多数项目都比较大,为方便找到程序的bug,都是需要系统的记录日志的.这里 ...

  5. 日志组件logback的介绍及配置使用方法

    一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...

  6. 日志处理(二) 日志组件logback的介绍及配置使用方法(转)

    本文转自:http://www.cnblogs.com/yuanermen/archive/2012/02/13/2348942.html http://www.cnblogs.com/yuanerm ...

  7. 转:日志组件logback的介绍及配置使用方法

    转自:http://blog.csdn.net/zgmzyr/article/details/8267072 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.lo ...

  8. 日志组件logback的介绍及配置使用方法(一)

    一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...

  9. 日志组件Log2Net的介绍和使用(附源码开源地址)

    Log2Net是一个用于收集日志到数据库或文件的组件,支持.NET和.NetCore平台. 此组件自动收集系统的运行日志(服务器运行情况.在线人数等).异常日志.程序员还可以添加自定义日志. 该组件支 ...

  10. java日志组件介绍(common-logging,log4j,slf4j,logback )

    转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...

随机推荐

  1. 关于nth-of-type的注意事项

    普通使用 nth-of-type: <div class="box"> <div> 第一个元素 </div> <p>没有用的元素&l ...

  2. JSP第五周作业

    1.教材p39实验3(听英语) <%@ page language="java" import="java.util.*" pageEncoding=&q ...

  3. Python subnet 操作物件

    subnetcalc.py class SubnetCalc(object): def __init__(self, network, mask): self.network = network.sp ...

  4. 微信公众号授权登录,整合spring security

    公司的业务需求,对接了微信公众号授权,通过微信公众号的接口拿到用户信息进行业务系统的登录,话不多说上代码,我的实现方式是整合了spingSecurity 首先是接口 @PostMapping(&quo ...

  5. jquery中,某些写法后来更新导致版本不支持的替代方法

    等号后面的书写替换前面老的书写方法 $.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());$.browser.we ...

  6. [Unity框架]资源管理02:热更新

    这里可以分成资源打包.资源更新下载.资源加载卸载3个部分 一.资源打包 参考链接: https://blog.uwa4d.com/archives/TechSharing_59.html https: ...

  7. Go_day08

    Go的Io流 获取文件信息 //获取文件 fileinfo, err := os.Stat("./aa.txt")//相对绝对路径都可以 if err != nil { fmt.P ...

  8. HTTPS、HTTP/2前端入门篇

    随着网络安全重要性日益凸显,越来越多的站点已经全站切换到HTTPS,其中很多HTTPS站点同时将HTTP协议升级到了HTTP/2.作为一只前端,最近一直在学习和应用相关知识点,便总结梳理如下. 一.何 ...

  9. ClassLoader 双亲委派

    一个程序有一个默认的appClassLoader.类不是由被调用者也不是被自身加载的,正常情况下是被默认的AppClassLoader加载的. System.out.println(test3.cla ...

  10. DRF_视图类

    drf 视图组件 视图基类 基于APIView写五个接口 基于GenericAPIView写5个接口 5个视图扩展类 9个视图子类 视图集 两个视图基类 视图的两个基类分别是 ​ APIView : ...