化腐朽为神奇:简明日志规范

简介: 上周静儿用一天的时间写了一个日志切面,大家都非常支持配合,内部各个模块都使用起来。从技术上来说就是一个aspectj,没有什么难点。关键是做好之后让很多模块都一起使用起来,形成了一个规范。规范是一个很神奇的东西。比如因特网本身就是一套规范而已。所谓的带宽是连电压都规定好了的大家必须遵守的东西。比如神奇的http,也就是一套约定的规范。那简明日志规范到底有什么意义呢?回到之前静儿写的文章:美团点评智能支付核心交易系统的可用性实践。

12132328-4bb0632d44d884a9.png

上周静儿用一天的时间写了一个日志切面,大家都非常支持配合,内部各个模块都使用起来。


从技术上来说就是一个aspectj,没有什么难点。关键是做好之后让很多模块都一起使用起来,形成了一个规范。规范是一个很神奇的东西。


比如因特网本身就是一套规范而已。所谓的带宽是连电压都规定好了的大家必须遵守的东西。比如神奇的http,也就是一套约定的规范。


那简明日志规范到底有什么意义呢?回到之前静儿写的文章:美团点评智能支付核心交易系统的可用性实践


12132328-288bcd44a4b1ecb0.png



是的,简明日志规范是系统稳定性的重要保障之一。


这样想,对于一个大型系统,不同的模块通过不同的工程来维护,分而治之。但是一旦出现了问题,每个模块的日志只有做这一块的同学才能看懂,这就杯具了。等定位到问题黄花菜都凉了。


如果大家都有一些链路必需的参数,都是用统一的格式,这样问题就好定位多了。这就是简明日志规范最重要的意义。


12132328-82229eb090e11dda.png


 静儿码农一枚,有朋友吐槽静儿的github一年没更新了,主要做管理了吧。基础架构部这边大家都是做技术的,只有技术专家,没有领导。github不更新原因是咱们在公司里写出的代码,或者用公司电脑写出的代码,理论上都属于公司。想开源需要审批的。这点也需要朋友注意了。


   静儿经授权,开源了日志切面的代码


背景


1.我们定位问题是否有足够的信息?


2.我们在观察信息情况的时候是否会被很多不关心的内容所干扰?


3.我们的监控报警是否有可靠的信息来源?


简明日志,代码无侵入,截获所有与其他组件交互日志。


原理


写了一个日志切面,默认在目录的service包、api包、queue包的所有public方法前后打印info级别日志。dao包打印debug级别日志。也支持灵活用注解方式打印日志。日志等级可以在统一配置中心上进行配置。


方法


1.pom.xml配置


<dependency>

<groupId>com.brmayi</groupId>

<artifactId>concise-logger</artifactId>

<version>1.0.0-SNAPSHOT</version>

</dependency>


2.spring的配置


<bean id="logAspect" class="com.brmayi.aspect.LogPrintAspect">

<aop:config>

<aop:aspect id="aspectAOP" ref="logAspect" />

</aop:config>


12132328-6b85ffe60e8e2940.png


   日志想要便于查看,目前都需要统一的日志中心。日志中心目前大公司都是自己实现。但是大家想要自己弄,静儿原同事阳哥给大家提供了一个福利。阳哥之前就职于阿里,后回到乐视期间我们同事一年,一起做项目,跟阳哥学了很多东西。他目前做的开源日志中心已经在乐视内部线上使用,稳定性有保证。


12132328-890969b280fe42a5.png


12132328-15dbe122abf092f9.jpg


一个技术的成功往往是一种营销的成功。比如docker、k8s。k8s火了之后,docker一看自己的地位将不保,就说:


12132328-a3530c2cdccd9cdb.jpg


所以docker是一个标准的k8s的CRI实现。这实为明智之举。也是我辈在工作和生活中都可以借鉴的一个合作共赢的道理。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
存储 监控 Cloud Native
|
监控 Java API
最简日志打印规范
个人认为,如果在公司的野蛮生长阶段,一些基础类库不做约束,很可能“埋坑”,形成技术债务,最终为此付出代价。本文讲解一个最简的日志打印规范。 事实上,日志打印规范互联网上已有很多,但大多比较冗长(记不住),也不太契合我们团队(关注点不契合)。
3764 0
|
6月前
|
JSON 运维 安全
系统日志规范及最佳实践(2)
系统日志规范及最佳实践
115 0
系统日志规范及最佳实践(2)
|
6月前
|
运维 监控 安全
系统日志规范及最佳实践(1)
系统日志规范及最佳实践
348 0
|
10月前
|
测试技术 开发工具 git
git commit message——git提交日志规范备忘
使用git提交时,最好能注意保持规范,可能某些公司对这方面没有要求,但是提交日志不规范的话,不方便查阅和管理。 在此记录下commit的类别,备忘,更详细的介绍,可以查看文末链接。
114 0
|
JavaScript Dubbo Java
这份日志格式规范,拿走不谢(Java版)
这份日志格式规范,拿走不谢(Java版)
日志规范笔记
日志规范笔记
418 0
|
Java 程序员 BI
别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!!
别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!!
327 0
|
消息中间件 JavaScript 小程序
这份Java日志格式规范,拿走不谢!
在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。写好程序的日志可以帮助我们大大减轻后期维护压力。在实际的工作中,开发人员往往迫于巨大时间压力,而写日志又是一个非常繁琐的事情,往往没有引起足够的重视。

热门文章

最新文章