大型团队Java项目日志自由激活的设计
大型团队Java项目日志自由激活的设计
?
摘要:
一种由运维团队管理日志自由激活的方法。实现这样功能的Java软件构架,可以使运维团队,根据运营过程中的问题,设置是否激活相应的日志输出。
?
背景:
一个大型的互联网软件团队,一般开发团队和运营团队是分开的。对于软件新版本的发布是有一定流程的。可以安全的,足够自由的控制具体的日志是否输出,将会对运营系统的问题查找,非常的有帮助。
?
Java实现:
对每一个要输出日志的代码位置,加入文件和行号标识,在Java编译的之前候将其转换为整数。对于每一个运行实例维护一份,哪些日志要输出的内存列表。提供一个UI界面的工具,维护运行时具体哪些日志要输出。
?
实现细节:
需要在Java代码编译前,将供日志标识的翻译为整数。
关于那些日志需要输出的数据结构,是一个数组。(速度算是飞快了)
设置日志输出配置的UI界面,可以和源代码关联。(可以加入一些安全级别的区分)
总结:
其他好处:是不少的,就不在此多说了。
代价:
运行时的代价:性能影响很小。
对开发人员的影响:无