一种统一日志组件制造技术

技术编号:23314753 阅读:28 留言:0更新日期:2020-02-11 17:40
一种统一日志组件,用于管理应用的日志文件,实现以下内容:1)获取traceId并输出到日志文件中,根据traceId对整个调用链路进行跟踪;2)日志组件包括统一日志格式的日志配置文件,用于输出统一格式的日志文件;3)日志组件监控应用的日志配置的变更,根据变更项对应调整日志文件。本发明专利技术日志组件可以方便管理应用的日志文件,能够根据traceId对整个调用链路进行跟踪,生成统一格式的日志文件,便于数据统计分析,实现动态日志级别调整,通过日志组件实现修改的可查性及安全性,并可通过管理平台更方便的配置日志组件,提高日志组件使用的安全性,并对可能影响应用性能的日志文件进行监控。本发明专利技术易于接入现有应用,实现对日志文件的配置和监控管理。

A unified log component

【技术实现步骤摘要】
一种统一日志组件
本专利技术属于计算机
,涉及日志文件的管理,为一种统一日志组件。技术背景随着近10年互联网的技术发展,日志在应用中扮演着越来越重要的角色,比如问题排查、大数据统计、用户画像等;而这一切的前提是一个简单好用的日志输出组件。而目前的日志组件大多存在以下缺陷:1.没有traceId,无法对整个调用链路进行跟踪,对链路执行情况一无所知,不便于系统优化和问题排查。2.不同应用之间日志格式、切割方式、存放路径不统一,这对日志收集、数据统计、运营分析带来了很大的麻烦。3.没提供日志级别调整的能力,在应用出现问题后,只能修改代码、再次发布来调整日志级别,在排查完成之后,还要回滚代码,避免大量无用日志输出,这一过程既漫长又容易出错。4.现有一些日志组件,配置复杂,需开发人员对其有深入了解才能完成配置。本专利技术的目的就是提供一种更简单、更灵活的日志组件,便于用户进行业务分析和问题排查。
技术实现思路
本专利技术要解决的问题是:现有日志组件使用不能满足需求,存在跟踪性能低,各种日志不统一难于汇集使用,不便于调整,配置复杂等问题。本专利技术的技术方案是:一种统一日志组件,通过所述日志组件管理应用的日志文件,所述日志组件通过计算机程序实现以下内容:1)由skywalking生成traceId,日志组件通过当前线程的ThreadLocal获取traceId,然后输出到日志文件中,根据traceId对整个调用链路进行跟踪;2)日志组件包括统一日志格式的日志配置文件,用于输出统一格式的日志文件;3)日志组件监控应用的日志配置的变更,根据变更项对应调整日志文件。作为优选方式,所述traceId由精确到毫秒的时间戳+机房id+服务器id+自增序号组成。进一步的,所述统一日志格式的日志配置文件为各种appender组件,包括TDOUT、DEBUG、INFO、WARN和ERROR,统一日志格式包括:时间戳、日志级别、traceId、类全名或缩写、方法、行数和日志体。进一步的,日志组件监控的配置文件变更项包括:3.1)日志名称loggerName,显示需产生变更的日志文件名称;3.2)日志级别loggerLevel,显示需变更的日志级别;3.3)响应对象hostname,显示具体需要作出响应的机器;3.4)启用项enable,表明是否启用变更后日志配置,在调整完日志名称、级别、响应对象之后,通过enable配置是否启用之前调整变更的配置。进一步的,日志组件提供通用的配置文件logback.xml,应用在application.properties配置logging.config即完成接入,对于个性化场景,日志组件提供logback-extension.xml扩展,应用按通用文件配置个性化logger,并将logger放至classpath下,日志组件自动加载配置文件classpath。进一步的,作为优选方式,所述日志组件配设有管理平台,所述管理平台对接日志组件,用于设置日志组件的日志配置文件,以及显示日志组件对应用的监控过程,所述管理平台设有登录验证接口。进一步的,日志组件对指定日志文件进行定时监控,超过设定时间进行报警。本专利技术提供的日志组件可以方便管理应用的日志文件,能够根据traceId对整个调用链路进行跟踪,生成统一格式的日志文件,便于数据统计分析,实现动态日志级别调整,通过日志组件实现修改的可查性及安全性,并可通过管理平台更方便的配置日志组件,提高日志组件使用的安全性,并对可能影响应用性能的日志文件进行监控。本专利技术易于接入现有应用,实现对日志文件的配置和监控管理。具体实施方式本专利技术提出一种用于管理日志文件的同一日志组件,通过本专利技术组件可以方便对应用的日志文件的管理。本专利技术一种统一日志组件接入应用,通过计算机程序实现以下内容:1)由skywalking生成traceId,日志组件通过当前线程的ThreadLocal获取traceId,然后输出到日志文件中,根据traceId对整个调用链路进行跟踪。ThreadLocal是Java编程语言中保证变量线程安全的工具类。每个traceId都是由一个固定长度的字符串保证的,本专利技术进一步的对traceId做了改进,本专利技术traceId的生产算法是:机精确到毫秒的时间戳+机房+服务器id+自增序号,现有skywalking的常规算法是:应用id+线程id+时间戳+自增序号;因此本专利技术的traceId具有更好的唯一性,确保traceId全球多机房唯一。2)日志组件包括统一日志格式的日志配置文件,用于输出统一格式的日志文件;所述统一日志格式的日志配置文件为各种appender组件,包括TDOUT、DEBUG、INFO、WARN和ERROR,统一日志格式包括:时间戳、日志级别、traceId、类全名或缩写、方法、行数和日志体,所述方法指指Java编程语言中的“函数”。本专利技术的日志配置文件可覆盖90%以上的使用场景,当应用引入本专利技术日志组件之后,这些appender组件都无需配置,开箱即用。3)日志组件监控应用的日志配置的变更,根据变更项对应调整日志文件。对应用排查问题是需要修改日志级别,以便进行问题排查,本专利技术日志组件监控的配置文件变更项包括:3.1)日志名称loggerName,显示需产生变更的日志文件名称;3.2)日志级别loggerLevel,显示需变更的日志级别;3.3)响应对象hostname,显示具体需要作出响应的机器;3.4)启用项enable,表明是否启用变更后日志配置,在调整完日志名称、级别、响应对象之后,问题排查完毕,通过enable配置是否启用之前调整变更的配置。例如变更后的配置为:[{"loggerName":"com.tuya.tetris.biz.task.DeviceStatusCompareTask","hostName":"hz-s-tetris-001","level":"debug","enable":true}]其中:loggerName表示需要变更级别的日志名称;hostName表示变更在哪个实例上生效,这对集群式应用非常有用,不用每个实例都打印日志;Level表示需要打印的日志级别;Enable表示是否启用级别变更,可以非常简单的启用、关闭调整的日志级别。日志组件解析变更项变更后的配置值,根据不同值做出不同响应,调整日志文件。进一步的,本专利技术日志组件提供通用的配置文件logback.xml,应用程序在application.properties配置logging.config即完成接入,对于个性化场景,日志组件提供logback-extension.xml扩展,应用按通用文件配置个性化logger,并将logger放至classpath下,日志组本文档来自技高网...

【技术保护点】
1.一种统一日志组件,其特征是通过所述日志组件管理应用的日志文件,所述日志组件通过计算机程序实现以下内容:/n1)由skywalking生成traceId,日志组件通过当前线程的ThreadLocal获取traceId,然后输出到日志文件中,根据traceId对整个调用链路进行跟踪;/n2)日志组件包括统一日志格式的日志配置文件,用于输出统一格式的日志文件;/n3)日志组件监控应用的日志配置的变更,根据变更项对应调整日志文件。/n

【技术特征摘要】
1.一种统一日志组件,其特征是通过所述日志组件管理应用的日志文件,所述日志组件通过计算机程序实现以下内容:
1)由skywalking生成traceId,日志组件通过当前线程的ThreadLocal获取traceId,然后输出到日志文件中,根据traceId对整个调用链路进行跟踪;
2)日志组件包括统一日志格式的日志配置文件,用于输出统一格式的日志文件;
3)日志组件监控应用的日志配置的变更,根据变更项对应调整日志文件。


2.根据权利要求1所述的一种统一日志组件,其特征是所述traceId由精确到毫秒的时间戳+机房id+服务器id+自增序号组成。


3.根据权利要求1所述的一种统一日志组件,其特征是所述统一日志格式的日志配置文件为appender组件,包括TDOUT、DEBUG、INFO、WARN和ERROR,统一日志格式包括:时间戳、日志级别、traceId、类全名或缩写、函数方法、行数和日志体。


4.根据权利要求1所述的一种统一日志组件,其特征是日志组件监控的配置文件变更项包括:
3.1)日志名称loggerName,显示需产生变更的日志文件名称;
3.2)日志级别loggerLevel,显示需变更的日志级别;
3.3)响应对象hostname,显示具体需要作出响应的机器;
3.4)启用项enable,表明是...

【专利技术属性】
技术研发人员:纪森
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1