博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
可能是东半球最简单的Java应用日志上云方案了
阅读量:6317 次
发布时间:2019-06-22

本文共 1018 字,大约阅读时间需要 3 分钟。

轻松输出Java应用日志到七牛云平台

背景

云计算发展至今,企业应用的方方面面都已经在云上或者准备上云了。无论是Iaas还是Paas,应用开发的首选即是上云,因为云平台不仅可以节约开发和部署流程中的时间,而且专业的云平台还会极大提升整体服务的稳定性,降低业务运维成本。

方案

本篇主要介绍下如何利用七牛云大数据日志平台来无缝收集Java应用日志,方便后续的日志分析等工作。本质上,任何客户如果希望接入七牛的大数据日志平台,都可以利用各个语言的SDK来完成这个工作,或者利用七牛提供的收集工具如 或者 。

但是本方案强调的就是 业务代码无侵入性

提供 业务代码无侵入性 接入的方案最基本的原因就是:

  1. 客户已有的Java应用已经把日志存储到本地或者其他的地方了,支持新的输出方式需要修改业务代码,而大部分情况下客户不希望这样做
  2. 客户希望能够快速体验新的日志输出方案,希望尽可能少地影响现有的业务运行

所以最好存在一种方案,可以支持 可插拔 的方式来输出日志,这样Java应用代码不需要做更改,也就是达到 业务代码无侵入性 的目标。

由于大多数客户的应用都是采用Java来开发的,而且由于Java的生态发展的非常完善,很多客户都使用成熟的日志框架如log4j,slf4j,logback等来进行日志的输出。而这些框架在设计上面为我们无缝输出日志到不同的目的地提供了方便的接口。

所以,基于这些背景,我们打算帮助客户实现Java应用日志的 无缝快速上云

很多人或许已经猜出了这个方案的核心技术就是开发支持各个日志框架的自定义Appender。

对,就是这样。我们目前优先选择支持Java最主要是因为Java语言的覆盖用户广泛,日志框架设计优良,方面扩展自定义的Appender。后续我们也会根据客户需求继续支持其他的语言。

这个方案除了自定义日志的Appender来将日志输出到云端外,还内部实现了多线程日志上传,日志缓冲(避免频繁推送大小很小的日志行影响业务性能),定时推送等功能,后续还会根据实际情况继续支持其他企业级需求。

使用

实际应用起来非常简单,无需修改一行业务代码,直接看图:

three-steps

重新启动服务后,日志会进行上报,可以在七牛云后台查看数据:

pandora-show-logs

实战

另外,为了让大家在应用到自身业务之前实际体验下,我们还提供了两个开源软件的案例:

交流

如果您有兴趣了解更多实现细节,欢迎 Star项目: 或者加入QQ群讨论:675938456 。

转载地址:http://qyuaa.baihongyu.com/

你可能感兴趣的文章
JavaScript实现链表
查看>>
103. Binary Tree Zigzag Level Order Traversal
查看>>
JavaScript函数式编程,真香之组合(一)
查看>>
使用Envoy 作Sidecar Proxy的微服务模式-3.分布式追踪
查看>>
深入了解以太坊
查看>>
SpringBoot 实战 (二) | 第一个 SpringBoot 工程详解
查看>>
Go goroutine理解
查看>>
Java之注解的定义及使用
查看>>
如何进阶一名有竞争力的程序员?
查看>>
聊聊flink的Execution Plan Visualization
查看>>
PAT A1037
查看>>
算法复习
查看>>
IDE 插件新版本发布,开发效率 “biu” 起来了
查看>>
Flutter组件学习(三)—— 输入框TextFiled
查看>>
如何让被遮挡层可以进行事件点击?(纯CSS方法)
查看>>
理解环境变量 JAVA_TOOL_OPTIONS
查看>>
网易云基于Prometheus的微服务监控实践
查看>>
Vant 1.6.15 发布,有赞轻量级移动端 Vue 组件库
查看>>
Kotlin 2018 调查:1/4 的 Java 开发者在迁移后表示后悔
查看>>
社区直播 | NoSQL漫谈:坚持写HBase技术博客的感想
查看>>