2KB项目,专业的源码交易网站 帮助 收藏 每日签到

21 世纪的日志!

  • 时间:2019-01-23 18:39 编辑:2KB 来源:2KB.COM 阅读:323
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:21s
英文原文:21st century logging

相比较人们目前对于日志的关心,我想人们应该给予更多的关注。在设计一个应用的时候,有许多的精力都耗费在了创建客户逻辑模型,确保所有用例被覆盖并被正确处理。商务模型被映射到一个持久化存储(是存在RDBMS或者是NoSQL解决方案中),人们挑选各种框架:web,中间件,批任务,还有可能是用log4j或logback实现的SLF4J(简单日志门面Simple Logging Facade for Java)。

几乎所有我参与的应用都是这样的,日志往往都是二等公民,它依赖于良好的老的字符串日志框架

但最近我意识到,需要日志记录的东西远不止目前基于字符串的日志系统所做的。特别是在系统被部署在云端,具有良好的伸缩性时,这时采集文本文件并将它们聚集到一个公共的地方,感觉就像是黑客行为。

在最近一个应用中,我们实现了一种消息机制,它具有更复杂的信息,弥补了基于字符串日志的不足。我必须要感谢与我共事的一位同事,他说“消息位于我们应用的核心”。我还未曾想过日志作为任何系统的核心。商务逻辑是应用的核心,而不会是日志。但他的话富含真理,因为如果不具备一个能够知道系统是否确如期望而动作的好的机制,你将无法部署任何东西。

所以我的通知是比较复杂的对象(调试级通知比错误级通知的数据要少),NoSQL文档数据库是存放我们的日志的绝好存储库。一个通知内包含了以下所有类型的数据:
- 当前正在制定的任务,
- 数据来源,
- 发起日志的组件,
- 被抛出的异常,
- 输入的参数,
- 承载着我们的请求的Spring Integration Message的消息历史。

然后,既然我可以用一种“无模式”的风格来存储复杂对象,我也就可以对日志进行查询,而且日志到达的顺序也没有什么影响,因为我可以按照来源和创建时间对他们进行排序。这样我就可以拥有一个安排好的任务,用来在监测到大量错误的时候产生警告和报告。

这是一个定制的日志实现,因为我们还没有对提醒使用专用的框架,但我从中得到了比经典的基于字符串的日志文件更多的价值。

我仍然认为log4j和logback是很棒的实现,我们还没有替换它们,仅仅加入了一个额外的日志特征来克服它们的局限,但即使有了新的logback输出源,我依然认为当前基于字符串的日志对于生产系统需求来说太简单了。如果你使用它们的目的更多是为了调试,而且在生产环境有额外的监控方法,那么也许是时候使用一个聪明的、可以在开发和生产环境应用的日志解决方案。

假如说10年前,当关系型数据库统治着存储世界,这是一件很难实现的事情,而基于文件日志是一个很好的折中方案。那么我认为现在我们已经有方法实现一个更好的日志框架。当前“基于String的文件日志”模型已经很有效率了,尤其是当我们的服务器垂直缩放在单个机器中。但是在一个有许多水平分布服务器的世界,这种模型需要额外的处理。

大玩家们已经使用这种新一代日志系统了,譬如Facebook ScribeLinkedIn Kafka log processing.

我真的喜欢 LinkedIn 的方案,而且他也是鼓舞着我去探寻出一个工作在CQRS时尚的新的日志系统。在这个日志系统中,日志实体像事件一样存入日志数据库,而且每一个事件通过一系列操作来更新当前的系统状态。这个就结合了日志和监视器,而且每个监视命令直接缓存最新的系统状态呈现,这些状态包括:
  • 警报
  • 状态报告
  • 监控当前系统状态的视图
它听起来怎么样,是不是值得实现这个方案,我们是不是应该开启一个新一代日志的开源项目了?
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部