专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

10天前我想造个轮子

想法出现

是这样的,大概10天前,我忽然就想造个轮子,这个轮子的主要作用是收集客户端的日志,通过服务端存储到指定的持久化介质中。客户端和服务端都可以通过简单的配置实现快速接入。然后我就画了一个图,就是下面这样的。

开局一张图,实现全靠编

110_1.png

这张图很粗糙,但是足够表达了我的想法,我甚至和马桶以及Kent说,能一行代码搞定的事情,不要搞复杂了,思路非常简单,就是提供一个客户端端,通过配置传输通道(Redis/RabbitMQ),就可以把日志提交到服务器。

使用队列的方式传输数据,是出于削峰和解耦的目的,更重要的是,一旦任意语言的客户端实现了传输协议,那么他们完全可以利用自己熟悉的语言的优势去接入 TomatoLog,抱歉,我觉得这个名字还不错的。

至于服务端,通过插件式实现日志存储,如果对现有的存储介质不满意,那么可以扩展自己的持久层,只需要实现 ILogWriter 接口,然后将开发好的库放到 Plugins 中即可,服务的还提供输入、过滤、报警等必要的功能;报警功能非常重要,必须提供至少两种警报通知方式,初步定义为:SMS/Email.

然后就出现了下面这张图

110_2.png

通过比较这两张图可以看出,系统架构内部有不少的变化,特别是服务端方便,在易用性和可扩展性方面增加了不少东西。特别重要的是,真的实现了通过一行代码将客户端引入到项目中使用的目的,通过这几天的不懈努力,我得到了下面这个通知

110_3.png

结束语

今天写这篇随笔真的是心血来潮,好消息是,TomaToLog 已经实现并提交到了 GitHub,本文只是预告一下,接下来会有更详细的接入使用文档,我只能说,这也许是目前为止 .NETCore 平台上最简单易用的日志工具。

大晚上的发文,正好没人看,偷偷发。

文章永久链接:https://tech.souyunku.com/39180

未经允许不得转载:搜云库技术团队 » 10天前我想造个轮子

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们