zoukankan      html  css  js  c++  java
  • 聊一聊我心中的分布式日志处理框架

    其实这边文章说是“分布式日志框架”有标题党的嫌疑。把大家骗过来其实是想让大家指导一些意见,交流一下经验。

    最近看了一本关于架构方面的书,其中书里面有一句话让我影响很深刻:在没有弄清楚需求前就去做架构的人失败永远多于成功。

    仔细想了想,其实蛮有道理的。

    就我个人而言,当我决定做一个框架的时候,我会认为我对需求是了解的,拿着需求就开始定义接口写代码,但是一般这个情况,我都会返工,为什么?因为写不下去了。。。。。

    这次的日志框架相对于之前而已,我增加了消息队列来进行日志的缓冲读写已经写完日志后发送消息通知。

    我的构想是用户调用Log.Write方法,只需要传入日志实体,在方法中会自动判断写到队列还是直接写到某个介质中去。

    关系图:

    上图中部分接口作用如下:

    LogManager:日志管理器,用户实例化一个LogManager后只需要调用Write就可以进行写日志了

    ILogProviderBulid:日志提供程序构造器,通过配置文件构造出指定的ILogProvider程序

    IQueueProviderBulid:队列提供程序构造器,同归配置文件构造出指定的IQueueProvider

    INoticeable:消息通知接口

    关于Log实体的部分属性说明:

    Code:错误码

    ErrorType:错误类型 对应的是一个枚举

    Exexception:异常对象

    IsDebug:是否属于Debug模式

    IsSendMessage:是否发送消息

    Message:用户自定义消息

    代码的话还没有写完,不出意外的话我会在中秋之前把代码上传到github上,这个框架肯定会有一些不足,希望大家能够一起讨论,相互交流。先睡了,

  • 相关阅读:
    jQuery封装函数
    jquery中DOM
    phpstorm软件配置端口问题
    键盘控制div移动并且解决停顿问题(原生js)
    js实现可视化区域内拖拽
    一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
    js之鼠标随动后面跟随事件(类似于长龙跟着跑)
    js多物体运动之淡入淡出效果
    js实现网站首页分享滑块
    JS实现ul,li排序效果
  • 原文地址:https://www.cnblogs.com/dazhuangtage/p/5866994.html
Copyright © 2011-2022 走看看