CN108197200A - 日志追踪方法、装置、计算机设备和存储介质 - Google Patents

日志追踪方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN108197200A
CN108197200A CN201711451419.9A CN201711451419A CN108197200A CN 108197200 A CN108197200 A CN 108197200A CN 201711451419 A CN201711451419 A CN 201711451419A CN 108197200 A CN108197200 A CN 108197200A
Authority
CN
China
Prior art keywords
daily record
operation requests
tracking
log information
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711451419.9A
Other languages
English (en)
Other versions
CN108197200B (zh
Inventor
林志贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201711451419.9A priority Critical patent/CN108197200B/zh
Publication of CN108197200A publication Critical patent/CN108197200A/zh
Application granted granted Critical
Publication of CN108197200B publication Critical patent/CN108197200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种日志追踪方法、装置、计算机设备和存储介质。所述方法包括:接收终端发送的日志查询请求,所述日志查询请求携带了一个或多个操作请求标识;根据所述操作请求标识获取对应的追踪标识;获取与所述追踪标识对应的索引,通过所述索引查询与所述追踪标识对应的日志消息;将所述日志消息返回至终端,在终端的页面中进行展示。采用本方法能够有效地提高日志追踪效率。

Description

日志追踪方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种日志追踪方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的迅速发展,互联网中发布的各种操作系统、网页、应用程序等越来越多。这些操作系统、网页、应用程序等在运行的过程中可以记录相应的日志,如应用程序日志,安全日志、系统日志、服务日志等等,在系统上进行操作请求时,这些日志通常会记录下操作请求对应的相关内容。运维人员可以通过查看日志对应用程序、网络系统等进行维护。当这些操作系统、网页、应用程序等出现问题时,运维人员可以通过查询日志来排查问题。
传统的方式是将所有操作请求产生的日志写入后台的日志存储库中,通过终端发起查询请求,获取日志来追踪相关的日志消息。然而获取到的日志中包含大量请求对应的日志消息,需要运维人员从日志中浏览查找所需要的日志消息,导致日志追踪查询的效率较低。因此,如何有效地提高日志的追踪效率成为目前需要解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效地提高日志追踪效率的日志追踪方法、装置、计算机设备和存储介质。
一种日志追踪方法,包括:
接收终端发送的日志查询请求,所述日志查询请求携带了一个或多个操作请求标识;
根据所述操作请求标识获取对应的追踪标识;
获取与所述追踪标识对应的索引,通过所述索引查询与所述追踪标识对应的日志消息;
将所述日志消息返回至终端,在终端的页面中进行展示。
在其中一个实施例中,所述方法还包括:
接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;
获取与所述操作请求对应的日志框架以及日志消息;
通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件;
所述获取与所述追踪标识对应的索引,通过所述索引查询与对应的日志消息的步骤包括:
根据所述索引查询与对应的日志文件;
对所述日志文件进行解析,得到与所述追踪标识对应的日志消息。
在其中一个实施例中,所述方法还包括:
获取所述日志框架中的部分函数;
对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在其中一个实施例中,所述通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件的步骤包括:
获取预设字符或预设字符串;
利用修改后的日志框架对所述追踪标识、日志消息以及预设字符或预设字符串进行编码;
生成与所述操作请求对应的编码后的日志文件。
在其中一个实施例中,所述方法还包括:
将所述日志文件存入日志存储库中;
对所述日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;
根据所述追踪标识建立与所述日志消息对应的索引。
在其中一个实施例中,所述方法还包括:
接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;
获取与所述操作请求对应的日志框架以及日志消息;
获取与所述操作请求对应的日志消息,通过所述日志框架将所述追踪标识与所述日志消息存入实时日志存储库。
在其中一个实施例中,所述方法还包括:
获取所述日志框架中的部分函数;
对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在其中一个实施例中,所述方法还包括:
将所述追踪标识和对应的日志消息单独存入实时日志存储库中;
根据所述追踪标识建立与所述日志消息对应的索引。
一种日志追踪装置,包括:
接收模块,用于接收终端发送的日志查询请求,所述日志查询请求携带了一个或多个操作请求标识;
获取模块,用于根据所述操作请求标识获取对应的追踪标识;
查询模块,用于获取与所述追踪标识对应的索引,通过所述索引查询与所述追踪标识对应的日志消息;
发送模块,用于将所述日志消息返回至终端,在终端的页面中进行展示。
在其中一个实施例中,所述装置还包括:
标识生成模块,用于接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
日志生成模块,用于获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件;
所述查询模块还用于根据所述索引查询与对应的日志文件;对所述日志文件进行解析,得到与所述追踪标识对应的日志消息。
在其中一个实施例中,所述日志生成模块还用于获取所述日志框架中的部分函数;对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在其中一个实施例中,所述日志生成模块还用于获取预设字符或预设字符串;利用修改后的框架对所述追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与所述操作请求对应的编码后的日志文件。
在其中一个实施例中,所述装置还包括:
日志存储模块,用于将所述日志文件存入日志存储库中;对所述日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据所述追踪标识建立与所述日志消息对应的索引。
在其中一个实施例中,所述标识生成模块还用于接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
所述日志生成模块还用于获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;
所述日志存储模块还用于通过所述日志框架将所述追踪标识与所述日志消息存入实时日志存储库。
在其中一个实施例中,所述日志生成模块还用于获取所述日志框架中的部分函数;对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在其中一个实施例中,所述日志存储模块还用于将所述追踪标识和对应的日志消息单独存入实时日志存储库中;根据所述追踪标识建立与所述日志消息对应的索引。
一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述理器执行所述程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
上述日志追踪方法、装置、计算机设备和存储介质,接收终端发送的日志查询请求,该日志查询请求携带了一个或多个操作请求标识;根据操作请求标识获取对应的追踪标识;获取与追踪标识对应的索引,通过索引查询与对应的日志消息;将日志消息返回至终端,以在终端的页面中进行展示。通过追踪标识将每个操作请求与对应的日志消息独立关联起来,由此利用追踪标识对应的索引能够快速查询到每个操作请求对应的日志消息,从而能够有效提高日志消息的追踪效率。
附图说明
图1为一个实施例中日志追踪方法的应用场景图;
图2为一个实施例中日志追踪方法的流程图;
图3为一个实施例中日志查询界面的示意图;
图4为另一个实施例中日志追踪方法的流程图;
图5为又一个实施例中日志追踪方法的流程图;
图6为一个实施例中日志追踪装置的内部结构图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定申请。可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请实施例中提供的日志追踪方法还以可应用于如图1所示的应用场景中。其中,终端102,可以是笔记本电脑、台式电脑等。服务器104,可以是独立服务器,也可以是集群服务器,用于实现日志追踪方法。终端102通过网络与服务器104连接。终端102可以发送日志查询请求,服务器104接收终端发送的日志查询请求后,该日志查询请求中携带了一个或多个操作请求标识,服务器104根据该操作请求标识获取对应的追踪标识,并获取与该追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息。服务器104将查询到的日志消息返回至终端102,以使得在终端102的页面中进行展示。通过将每个操作请求与对应的日志消息独立关联起来,由此可以能够查询到每个操作请求对应的日志消息,进而能够有效提高日志消息的追踪效率。
在一个实施例中,如图2所示,提供了一种日志追踪方法,以该方法应用于服务器为例进行说明。该方法具体包括以下步骤:
步骤202,接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识。
日志中记录有操作系统、网页或应用程序等在运行过程中相关活动和性能的反馈信息和发生的事件信息。日志可用于了解操作系统或其他应用程序等的活动过程和跟踪诊断操作系统、网页或应用程序等的问题。用户可以通过终端中显示的界面,点击界面中的控件或链接。终端检测到用户的点击操作后,触发日志查询请求,并向服务器发送日志查询请求。例如,日志查询请求可以是终端屏幕中显示的控件操作请求或URL(Uniform ResourceLocator,统一资源定位符)请求。
服务器接收终端发送的日志查询请求,该日志查询请求中携带了一个或多个操作请求标识,操作请求标识可以是功能控件的名称或网页地址的名称等。
步骤204,根据操作请求标识获取对应的追踪标识。
终端发出操作请求后,服务器会根据操作请求生成与该操作请求唯一对应的标识。例如,服务器可以采用UUID(Universally Unique Identifier,通用唯一识别码)为操作请求随机生成一个对应的追踪标识。
进一步地,每个操作请求都有对应的线程去执行操作请求,从接收请求到返回响应所经过的所有程序调用都属于同一个线程。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取线程中的变量,将操作请求对应的追踪标识添加至当前运行线程变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架。服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。服务器通过日志框架生成与操作请求和追踪标识对应的日志消息。
服务器接收终端发送的日志查询请求后,将与操作请求对应的追踪标识返回至终端。服务器根据操作请求标识获取对应的追踪标识。
步骤206,获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息。
步骤208,将日志消息返回至终端,在终端的页面中进行展示。
服务器利用日志框架生成与操作请求和追踪标识对应的日志消息后,将日志消息进行存储,并根据追踪标识建立与日志消息对应的索引。因此,在查询操作请求对应的日志信息时,服务器通过获取与追踪标识对应的索引,就可以利用索引查询到与追踪标识对应的日志消息。服务器将查询到的日志信息返回至终端中,以使得终端在相应的页面中进行展示。通过将每个操作请求与对应的日志消息独立关联起来,运维人员由此可以利用终端能够查询到多个终端发出的多个操作请求对应的日志消息,通过查询日志文件来对操作系统、网页、应用程序等进行维护或排查相关的问题。
在本实施例中,普通用户也可以通过终端发出日志查询请求,来查询用户对应的终端发出的操作请求对应的日志消息。用户对应的终端发送的日志查询请求中携带的一个或多个操作请求标识为该终端发出的操作请求对应的标识,操作请求标识可以是该终端界面中的功能控件名称或网页地址名称等。由此用户可以利用对应的终端查询到该终端发出的多个操作请求对应的日志消息,从而用户可以通过查询日志消息来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
例如,如图3所示,提供了日志查询的页面,操作请求标识可以是操作请求对应的控件标识。服务器在接收到日志查询请求后,可以将生成与操作请求对应的追踪标识返回给终端。当用户或运维人员点击图3中的“保存”对应的控件后,服务器获取“保存”这个操作请求对应的追踪标识,利用与“保存”对应的追踪标识在日志存储库中进行查询。服务器根据日志存储库的索引,获取与追踪标识对应的日志消息。服务器将获取到的日志消息返回给终端。返回的日志消息可以如图3中右边的列表所示,Time表示“保存”这个操作请求对应的每一条日志消息的生成时间,Level表示日志消息的等级类型。其中,debug表示调试信息,error表示一般错误,warn表示警告,info表示一般信息。Message表示日志消息等级类型对应的具体内容。由此可以将每个操作请求与对应的日志消息关联起来,在查询的时候,只返回与操作请求对应日志消息,从而能够有效提高日志查询效率。
本实施例中,服务器接收终端发送的日志查询请求,该日志查询请求携带了一个或多个操作请求标识;根据操作请求标识获取对应的追踪标识;获取与追踪标识对应的索引,通过索引查询与对应的日志消息;将日志消息返回至终端,以在终端的页面中进行展示。通过追踪标识将每个操作请求与对应的日志消息独立关联起来,由此利用追踪标识对应的索引能够快速查询到每个操作请求对应的日志消息,从而能够有效提高日志消息的追踪效率。
在一个实施例中,如图4所示,日志追踪方法包括如下步骤:
步骤402,接收多个终端的操作请求,根据操作请求生成对应的追踪标识。
步骤404,获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中。
步骤406,获取与所述操作请求对应的日志框架以及日志消息。
步骤408,通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件。
通常情况下,用户可以利用终端发出多个操作请求,以获取需要的信息或结果。服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。例如,服务器可以采用UUID为操作请求随机生成一个对应的追踪标识。
进一步地,每个操作请求都有对应的线程去执行操作请求,从接收请求到返回响应所经过的所有程序调用都属于同一个线程。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取线程中的变量,将操作请求对应的追踪标识添加至当前运行线程变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
例如,可以采用ThreadLocal(线程局部变量)的方式。具体地,ThreadLocal为每个操作请求对应的线程分配一个独立的变量副本。因此,每一个线程都可以独立地改变自己的副本,服务器将追踪标识添加到当前运行线程的变量中去,而不会影响其他线程所对应的副本。进一步地,服务器可以将操作请求对应的追踪标识添加至当前线程副本中。具体地,服务器可以通过创建Map(对象保存键值对)来存储线程变量,Map可以为二级Map,Map用于存储每一个线程的变量副本。其中,Map中元素的键为线程对象,而值对应线程的变量副本。将线程的值设置为key,将操作请求对应的追踪标识存入Map中。在获取操作请求对应的当前运行线程时,将此当前运行线程局部变量的当前线程副本中的追踪标识设置为预设的标识值。由此,可以将操作请求对应的追踪标识注入到操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架。服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。服务器获取与操作请求对应的日志消息,通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件。
输出日志通常需要一个或多个日志框架,这些框架提供了必要的对象、函数方法和配置信息来传输消息。例如,日志框架可以采用Log4j(log4j--log for java,java的日志),slf4j(Simple Logging Facade for Java,简单日志门面),Logback(开源日志组件)等框架。日志框架中提供了记录日志的接口,服务器通过对日志框架中的message(参数)进行编码,利用日志框架从操作请求对应的当前运行线程中读取对应的追踪标识。服务器按照日志框架提供的函数方法对操作请求进行记录。日志消息的格式、记录级别、输出方式等可以通过具体的日志框架的配置来实现。由此可以得到与操作请求相对应的日志消息。
进一步地,在分布式系统的环境下,分布式系统中有多个节点。服务器接收到终端发送的操作请求后,为操作请求生成对应的追踪标识。其中,服务器可以是Web服务器。服务器可以将操作请求和对应的追踪标识根据操作请求的处理逻辑分配到多个节点进行处理,服务器调用多个节点对这个操作请求中的一部分进行处理。由此可以通过多个节点对操作请求共同进行处理来实现这个操作请求。每个节点在对操作请求进行处理的时候,都会把记录下调用和处理过程中的过程数据,包括执行过程中经历的节点路线、节点耗时、访问资源等数据,生成该节点对应的日志。该日志与追踪标识相对应。每个节点记录下操作请求对应的日志后,通过追踪标识按照调用逻辑将操作请求对应的日志返回给上一层的节点。上一层的节点通过追踪标识按照操作请求的的调用逻辑将操作请求对应的日志依次返回,直到所有节点中与操作请求对应的日志全部返回至服务器中。服务器利用接收到的所有节点返回的与追踪标识对应的操作请求的日志生成一颗追踪树,追踪树中记录了该操作请求在各个节点进行处理时生成的日志。在传统的方式中,各个节点对操作请求进行处理后,是将操作请求对应的日志记录在各个节点本地,运维人员查询操作请求对应的日志的时候,需要在各个节点中进行查询,因此,日志查询的效率不高。本实施例中,服务器通过利用各个节点返回的与追踪标识对应的操作请求的日志生成一颗追踪树,由此服务器能够根据追踪树有效地对操作请求的执行过程中产生的日志进行追踪,从而能够有效提高日志查询的效率。
服务器获取操作请求在各个节点的调用记录和产生的数据后,获取与操作请求对应的日志消息,包括系统日志消息和业务日志消息等。服务器通过日志框架将与操作请求对应的追踪标识和操作请求对应的日志消息生成日志文件,同时将生成的日志文件存储在日志存储库中。其中,日志存储库可以使用ElasticSearch(搜索服务器),也可以用关系数据库,如mysql(关系型数据库管理系统)数据库等。由此可以根据追踪标识将操作请求与对应的日志消息关联起来,从而可以有效提高日志消息的追踪效率。
步骤410,接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识。
步骤412,根据操作请求标识获取对应的追踪标识。
步骤414,获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志文件。
步骤416,对日志文件进行解析,得到与追踪标识对应的日志消息。
步骤418,将日志消息返回至终端,在终端的页面中进行展示。
服务器通过日志框架将与操作请求对应的追踪标识和操作请求对应的日志消息生成日志文件后,为了支持终端对日志文件进行查询,需要将日志文件采集到结构化的日志存储库中,并为追踪标识建立索引。其中,采集器可以是开源的采集器。具体地,服务器利用采集器根据编码格式对日志文件进行解码,解码出追踪标识和原始的日志消息,然后按照日志存储库的规范接口将追踪标识和对应的日志消息存储到日志存储库中。服务器对日志文件进行解析后,同时根据追踪标识为与对应的日志消息建立索引。具体地,可以将操作请求的追踪标识设置为日志存储库表中的主键,通过根据主键利用追踪标识建立与操作请求对应的日志消息的索引。由此可以根据追踪标识将操作请求与对应的日志消息关联起来,从而可以提高日志消息的查询效率。
服务器接收终端发送的操作请求后,可以将生成的与操作请求对应的追踪标识返回至终端。服务器接收到终端发送的日志查询请求后,根据日志查询请求携带的操作请求标识获取对应的追踪标识。在查询操作请求对应的日志消息时,服务器通过在日志存储库的日志文件中获取与追踪标识对应的索引,通过索引查询与操作请求对应的日志文件,并对日志文件进行解析,就可以利得到与追踪标识对应的日志消息。服务器将查询到的日志信息返回至终端中,以使得终端在相应的页面中进行展示。通过为日志文件建立索引,将每个操作请求与对应的日志消息独立关联起来,用户或运维人员由此能够快速查询到每个操作请求对应的日志消息,从而能够有效提高日志消息的查询效率。
在一个实施例中,该方法还包括:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取线程中的变量,将操作请求对应的追踪标识添加至当前运行线程的变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。进一步地,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识时需要修改日志框架。服务器通过获取日志框架中的部分函数,对这部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。例如,服务器可以通过直接修改日志框架代码,如日志框架中的error(一般错误)、warn(警告)、debug(调试信息)、info(一般信息)等函数方法,将追踪标识写入日志框架中。服务器还可以通过代理日志接口,修改日志框架中的message参数,通过对message进行编码,将追踪标识添加至日志框架中。
服务器通过修改日志框架将与操作请求对应的追踪标识添加到日志框架中,由此可以利用修改后的日志框架生成与操作请求对应的日志消息,从而可以有效地根据追踪标识将操作请求和对应的日志消息关联起来。
在一个实施例中,通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件的步骤包括:获取预设字符或预设字符串;利用修改后的框架对追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与操作请求对应的编码后的日志文件。
服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取当前运行线程中的变量,将操作请求对应的追踪标识添加至当前运行线程的变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架后,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。进一步地,服务器利用日志框架从当前运行线程中读取与操作请求对应的追踪标识时需要修改日志框架。服务器通过获取日志框架中的部分函数,对这部分函数进行修改,将追踪标识添加至日志框架中,通过修改后的部分函数生成修改后的日志框架。
服务器将追踪标识添加到日志框架后,获取预设的字符或字符串,利用修改后的日志框架对追踪标识和日志消息利用预设的字符或字符串进行编码。其中,预设的字符或字符串可以是各种标识符。例如,可以采用“||”、“#”等标识符。具体地,服务器通过添加预设的字符或字符串将追踪标识和与操作请求对应的日志消息进行隔离,可以只将追踪标识和日志消息部分进行隔离。隔离后,追踪标识对应了操作请求相关的所有日志消息。通过只对追踪标识和操作请求对应的日志消息进行隔离,以利于终端根据追踪标识查询与操作请求对应的日志消息。
进一步地,服务器通过添加预设的字符或字符串将追踪标识和与操作请求对应的日志消息进行隔离时,还可以将追踪标识和每一条日志消息分别进行隔离。从而可以将追踪标识和日志消息的各个部分全部隔离开,以利于终端根据追踪标识查询与操作请求对应的每一条日志消息。
服务器利用修改后的日志框架,根据预设的字符或字符串对追踪标识和与操作请求对应的日志消息进行隔离编码后,服务器根据追踪操作请求的执行过程信息生成与操作请求对应的编码后的日志文件。
进一步地,服务器将生成的日志文件存储到日志存储库的时候,根据编码格式对日志消息进行解码,解码出追踪标识和原始的日志消息内容,按照日志存储库的规范接口将解码后的追踪标识和日志消息存储到日志存储库中。从而能够使得终端根据追踪标识在日志存储库中进行有效地查询日志消息,进而能够提高日志追踪查询的效率。
在一个实施例中,该方法还包括:将日志文件存入日志存储库中;对日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据追踪标识建立与日志消息对应的索引。
服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取当前运行线程中的变量,将操作请求对应的追踪标识添加至当前运行线程变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架后,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。
服务器通过日志框架将与操作请求对应的追踪标识和操作请求对应的日志消息生成日志文件后,为了支持终端对日志文件进行查询,需要将日志文件采集到结构化的日志存储库中,并为追踪标识建立索引。其中,采集器可以是开源的采集器。具体地,服务器利用采集器根据编码格式对日志文件进行解码,解码出追踪标识和原始的日志消息,然后按照日志存储库的规范接口将追踪标识和对应的日志消息存储到日志存储库中。服务器对日志文件进行解析后,同时根据追踪标识为与对应的日志消息建立索引。具体地,可以将操作请求的追踪标识设置为日志存储库表中的主键,通过根据主键利用追踪标识建立与操作请求对应的日志消息的索引。通过追踪标识将每个操作请求与对应的日志消息独立关联起来,由此利用追踪标识对应的索引能够快速查询到每个操作请求对应的日志消息,从而能够有效提高日志消息的查询效率。
在一个实施例中,如图5所示,日志追踪方法包括如下步骤:
步骤502,接收多个终端的操作请求,根据操作请求生成对应的追踪标识。
步骤504,获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中。
步骤506,获取与所述操作请求对应的日志框架以及日志消息。
步骤508,通过日志框架将追踪标识与日志消息存入实时日志存储库。
步骤510,接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识。
步骤512,根据操作请求标识获取对应的追踪标识。
步骤514,获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息。
步骤516,将日志消息返回至终端,在终端的页面中进行展示。
通常情况下,用户可以利用终端发出多个操作请求,以获取需要的信息或结果。服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。进一步地,每个操作请求都有对应的线程去执行操作请求,从接收请求到返回响应所经过的所有程序调用都属于同一个线程。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取当前运行线程中的变量,将操作请求对应的追踪标识添加至当前运行线程的变量中,从而可以将操作请求对应的追踪标识注入到操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架后,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。服务器通过日志框架根据操作请求的执行过程和对应的追踪标识生成日志消息。其中,日志消息包括系统日志消息和业务日志消息等。
进一步地,输出日志通常需要一个或多个日志框架,这些框架提供了必要的对象、函数方法和配置信息来传输消息。服务器可以从操作请求对应的当前运行线程的变量中获取到追踪标识,并获取与操作请求对应的日志框架。服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。服务器服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识时需要修改日志框架。服务器通过获取日志框架中的部分函数,对这部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。例如,服务器可以通过直接修改日志框架代码,如日志框架中的error(一般错误)、warn(警告)、debug(调试信息)、info(一般信息)等函数方法,将追踪标识写入日志框架中。服务器还可以通过代理日志接口,修改日志框架中的message参数,通过对message进行编码,将追踪标识添加至日志框架中。服务器按照日志框架提供的函数方法对操作请求进行记录。日志消息的格式、记录级别、输出方式等可以通过具体的日志框架的配置来实现。由此可以得到与操作请求相对应的日志消息。
进一步地,在分布式系统的环境下,分布式系统中有多个节点。服务器接收到终端发送的操作请求后,为操作请求生成对应的追踪标识。其中,服务器可以是Web服务器。服务器可以将操作请求和对应的追踪标识根据操作请求的处理逻辑分配到多个节点进行处理,服务器调用多个节点对这个操作请求中的一部分进行处理。由此可以通过多个节点对操作请求共同进行处理来实现这个操作请求。每个节点在对操作请求进行处理的时候,都会把记录下调用和处理过程中的过程数据,包括执行过程中经历的节点路线、节点耗时、访问资源等数据,生成该节点对应的日志。该日志与追踪标识相对应。每个节点记录下操作请求对应的日志后,通过追踪标识按照调用逻辑将操作请求对应的日志返回给上一层的节点。上一层的节点通过追踪标识按照操作请求的的调用逻辑将操作请求对应的日志依次返回,直到所有节点中与操作请求对应的日志全部返回至服务器中。服务器利用接收到的所有节点返回的与追踪标识对应的操作请求的日志生成一颗追踪树,追踪树中记录了该操作请求在各个节点进行处理时生成的日志。在传统的方式中,各个节点对操作请求进行处理后,是将操作请求对应的日志记录在各个节点本地,运维人员查询操作请求对应的日志的时候,需要在各个节点中进行查询,因此,日志查询的效率不高。本实施例中,服务器通过利用各个节点返回的与追踪标识对应的操作请求的日志生成一颗追踪树,由此服务器能够根据追踪树有效地对操作请求的执行过程中产生的日志进行追踪,从而能够有效提高日志查询的效率。
服务器通过日志框架根据操作请求的执行过程和对应的追踪标识生成日志消息,同时将日志消息存储到实时日志存储库中。其中,日志存储库可以使用ElasticSearch(搜索服务器),也可以用关系数据库,如mysql数据库等。具体地,服务器将每个操作请求对应的追踪标识和日志消息单独进行存储,通过追踪标识将操作请求与对应的日志消息关联起来,由此利用追踪标识对应的索引能够快速查询到每个操作请求对应的日志消息,从而可以提高日志消息的查询效率。
进一步地,终端可以设置实时日志查询控件,当服务器接收到实时日志查询请求后,根据实时日志查询请求携带的操作请求标识查询对应的追踪标识。服务器通过调用实时日志查询接口获取实时日志存储库中与追踪标识对应的索引,就可以利用索引查询到与追踪标识对应的日志消息。服务器将查询到的日志信息返回至终端中,以使得终端在相应的页面中进行展示。通过将每个操作请求与对应的日志消息关联起来进行独立存储,用户或运维人员由此可以能够实时快速地查询到每个操作请求对应的日志消息,从而有效地提高了日志追踪的效率。
在另一个实施例中,由于实时日志存储库中存储了大量的日志消息,服务器需要对实时日志存储库中的数据进行定期清除。具体地,每个操作请求对应的日志信息都有对应的生成时间,服务器可以获取日志信息的时间戳,按照预设的频率,对日志消息进行清除。例如,服务器可以定时清除一周之前生成的日志消息。通过对实时日志存储库进行定期清理,可以有效地减少实时日志存储库的内存占用,从而能够有效提高日志查询效率。
在一个实施例中,该方法还包括:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取当前运行线程中的变量,将操作请求对应的追踪标识添加至当前运行线程的变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
输出日志通常需要一个或多个日志框架,这些日志框架提供了必要的对象、函数方法和配置信息来传输消息。终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架,服务器就可以利用日志框架从当前运行线程的变量中读取到与操作请求对应的追踪标识。进一步地,服务器利用日志框架从当前运行线程的变量中读取对应的追踪标识时需要修改日志框架。服务器可以通过获取日志框架中的部分函数,对这部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。例如,服务器可以通过直接修改日志框架代码,如日志框架中的error(一般错误)、warn(警告)、debug(调试信息)、info(一般信息)等函数方法,将追踪标识写入日志框架中。服务器还可以通过代理日志接口,修改日志框架中的message参数,通过对message进行编码,将追踪标识添加至日志框架中。服务器按照日志框架提供的函数方法对操作请求进行记录。日志消息的格式、记录级别、输出方式等可以通过具体的日志框架的配置来实现。由此可以得到与操作请求相对应的日志消息。
服务器通过修改日志框架将与操作请求对应的追踪标识添加到日志框架中,由此可以利用修改后的日志框架生成与操作请求对应的日志消息,从而可以有效地利用追踪标识将操作请求和对应的日志消息关联起来。
在一个实施例中,该方法还包括:将追踪标识和对应日志消息单独存入实时日志存储库中;根据追踪标识建立与日志消息对应的索引。
服务器接收终端发出多个操作请求后,会根据每个操作请求生成与每个操作请求唯一对应的标识。当生成与操作请求唯一对应的追踪标识后,服务器就获取与操作请求对应的当前运行线程。通过获取当前运行线程中的变量,将操作请求对应的追踪标识添加至当前运行线程变量中,从而可以将追踪标识添加至与操作请求对应的当前运行线程中。
终端发送的每个操作请求都有对应的日志框架。服务器根据操作请求的追踪标识,获取与操作请求对应的日志框架,服务器利用日志框架从当前运行线程的变量中读取与操作请求对应的追踪标识。
服务器通过日志框架根据追踪标识和操作请求的执行过程生成日志消息,并对日志消息进行编码。为了支持终端对日志消息进行查询,需要将日志消息采集到结构化的实时日志存储库中,并为追踪标识建立索引。其中,采集器可以是开源的采集器。服务器可以在实时日志存储库中建立多个库表,用于将每个操作请求对应的追踪标识和日志消息进行单独存储。具体地,服务器利用采集器根据编码格式对日志消息进行解码,解码出追踪标识和原始的日志消息,然后按照实时日志存储库的规范接口将追踪标识和对应的日志消息存储到实时日志存储库中。服务器对日志消息进行解析后,同时根据追踪标识为与对应的日志消息建立索引。具体地,可以将操作请求的追踪标识设置为实时日志存储库中对应库表的主键,通过根据主键利用追踪标识建立与操作请求对应的日志消息的索引。通过追踪标识将操作请求与对应的日志消息关联起来,由此利用追踪标识对应的索引能够快速查询到每个操作请求对应的日志消息,从而能够有效提高日志消息的查询效率。
在一个实施例中,如图6所示,提供了一种日志追踪装置,该装置包括:接收模块602、获取模块604、查询模块606、发送模块608,其中:
接收模块602,用于接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识。
获取模块604,用于根据操作请求标识获取对应的追踪标识。
查询模块606,用于获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息。
发送模块608,用于将日志消息返回至终端,在终端的页面中进行展示。
在一个实施例中,该装置还包括:
标识生成模块,用于接收多个终端的操作请求,根据操作请求生成对应的追踪标识。
日志生成模块,用于获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件。
查询模块还用于根据索引查询与对应的日志文件;对日志文件进行解析,得到与追踪标识对应的日志消息。
在一个实施例中,日志生成模块还用于获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,日志生成模块还用于获取预设字符或预设字符串;利用修改后的框架对追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与操作请求对应的编码后的日志文件。
在一个实施例中,该装置还包括日志存储模块,用于将日志文件存入日志存储库中;对日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据追踪标识建立与日志消息对应的索引。
在一个实施例中,标识生成模块还用于接收多个终端的操作请求,根据操作请求生成对应的追踪标识。
日志生成模块还用于获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;
日志存储模块还用于通过日志框架将追踪标识与日志消息存入实时日志存储库。
在一个实施例中,日志生成模块还用于获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,日志存储模块还用于将追踪标识和对应的日志消息单独存入实时日志存储库中;根据追踪标识建立与日志消息对应的索引。
在一个实施例中,提供了一种计算机设备。该计算机设备可以是服务器,还可以是终端。当该计算机设备为终端时,其内部结构示意图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力,支撑整个终端的运行。该计算机设备的非易失性存储介质存储操作系统和计算机程序。该计算机设备的内存储器为非易失性存储介质中的计算机程序的运行提供环境,内存储器可用于存储操作请求、追踪标识、日志消息、日志文件等信息。该计算机设备的网络接口用于据以接入网络与外部的终端通过网络连接通信,比如获取记录集等。该计算机程序被处理器执行时以实现一种日志追踪方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是终端。该计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时,可使得处理器执行如下步骤:接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识;根据操作请求标识获取对应的追踪标识;获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息;将日志消息返回至终端,在终端的页面中进行展示。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收多个终端的操作请求,根据操作请求生成对应的追踪标识;获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设字符或预设字符串;利用修改后的框架对追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与操作请求对应的编码后的日志文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将日志文件存入日志存储库中;对日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据追踪标识建立与日志消息对应的索引。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收多个终端的操作请求,根据操作请求生成对应的追踪标识;获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过日志框架将追踪标识与日志消息存入实时日志存储库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将追踪标识和对应日志消息单独存入实时日志存储库中;根据追踪标识建立与日志消息对应的索引。
在一个实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,可使得处理器执行如下步骤:接收终端发送的日志查询请求,日志查询请求携带了一个或多个操作请求标识;根据操作请求标识获取对应的追踪标识;获取与追踪标识对应的索引,通过索引查询与追踪标识对应的日志消息;将日志消息返回至终端,在终端的页面中进行展示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收多个终端的操作请求,根据操作请求生成对应的追踪标识;获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过日志框架将与操作请求对应的追踪标识以及日志消息生成日志文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设字符或预设字符串;利用修改后的框架对追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与操作请求对应的编码后的日志文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将日志文件存入日志存储库中;对日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据追踪标识建立与日志消息对应的索引。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收多个终端的操作请求,根据操作请求生成对应的追踪标识;获取与操作请求对应的当前运行线程,将追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过日志框架将追踪标识与日志消息存入实时日志存储库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取日志框架中的部分函数;对部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将追踪标识和对应日志消息单独存入实时日志存储库中;根据追踪标识建立与日志消息对应的索引。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种日志追踪方法,包括:
接收终端发送的日志查询请求,所述日志查询请求携带了一个或多个操作请求标识;
根据所述操作请求标识获取对应的追踪标识;
获取与所述追踪标识对应的索引,通过所述索引查询与所述追踪标识对应的日志消息;
将所述日志消息返回至终端,在终端的页面中进行展示。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;
获取与所述操作请求对应的日志框架以及日志消息;
通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件;
所述获取与所述追踪标识对应的索引,通过所述索引查询与对应的日志消息的步骤包括:
根据所述索引查询与对应的日志文件;
对所述日志文件进行解析,得到与所述追踪标识对应的日志消息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述日志框架中的部分函数;
对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
4.根据权利要求3所述的方法,其特征在于,所述通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件的步骤包括:
获取预设字符或预设字符串;
利用修改后的日志框架对所述追踪标识、日志消息以及预设字符或预设字符串进行编码;
生成与所述操作请求对应的编码后的日志文件。
5.根据权利要求2所的方法,其特征在于,所述方法还包括:
将所述日志文件存入日志存储库中;
对所述日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;
根据所述追踪标识建立与所述日志消息对应的索引。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;
获取与所述操作请求对应的日志框架以及日志消息;
通过所述日志框架将所述追踪标识与所述日志消息存入实时日志存储库。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述日志框架中的部分函数;
对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述追踪标识和对应的日志消息单独存入实时日志存储库中;
根据所述追踪标识建立与所述日志消息对应的索引。
9.一种日志追踪装置,包括:
接收模块,用于接收终端发送的日志查询请求,所述日志查询请求携带了一个或多个操作请求标识;
获取模块,用于根据所述操作请求标识获取对应的追踪标识;
查询模块,用于获取与所述追踪标识对应的索引,通过所述索引查询与所述追踪标识对应的日志消息;
发送模块,用于将所述日志消息返回至终端,在终端的页面中进行展示。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
标识生成模块,用于接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
日志生成模块,用于获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;通过所述日志框架将与所述操作请求对应的所述追踪标识以及日志消息生成日志文件;
所述查询模块还用于根据所述索引查询与对应的日志文件;对所述日志文件进行解析,得到与所述追踪标识对应的日志消息。
11.根据权利要求10所述的装置,其特征在于,所述日志生成模块还用于获取所述日志框架中的部分函数;对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
12.根据权利要求11所述的装置,其特征在于,所述日志生成模块还用于获取预设字符或预设字符串;利用修改后的框架对所述追踪标识、日志消息以及预设字符或预设字符串进行编码;生成与所述操作请求对应的编码后的日志文件。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
日志存储模块,用于将所述日志文件存入日志存储库中;对所述日志存储库中的日志文件进行解析,得到相应的追踪标识与日志消息;根据所述追踪标识建立与所述日志消息对应的索引。
14.根据权利要求9所述的装置,其特征在于,所述标识生成模块还用于接收多个终端的操作请求,根据所述操作请求生成对应的追踪标识;
所述日志生成模块还用于获取与所述操作请求对应的当前运行线程,将所述追踪标识写入当前运行线程的变量中;获取与所述操作请求对应的日志框架以及日志消息;
所述日志存储模块还用于通过所述日志框架将所述追踪标识与所述日志消息存入实时日志存储库。
15.根据权利要求14所述的装置,其特征在于,所述日志生成模块还用于获取所述日志框架中的部分函数;对所述部分函数进行修改,通过修改后的部分函数生成修改后的日志框架。
16.根据权利要求14所述的装置,其特征在于,所述日志存储模块还用于将所述追踪标识和对应的日志消息单独存入实时日志存储库中;根据所述追踪标识建立与所述日志消息对应的索引。
17.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述理器执行所述程序时实现权利要求1至8中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
CN201711451419.9A 2017-12-27 2017-12-27 日志追踪方法、装置、计算机设备和存储介质 Active CN108197200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711451419.9A CN108197200B (zh) 2017-12-27 2017-12-27 日志追踪方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711451419.9A CN108197200B (zh) 2017-12-27 2017-12-27 日志追踪方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108197200A true CN108197200A (zh) 2018-06-22
CN108197200B CN108197200B (zh) 2021-06-15

Family

ID=62584768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711451419.9A Active CN108197200B (zh) 2017-12-27 2017-12-27 日志追踪方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108197200B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958850A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种日志优化方法、装置、设备及计算机可读存储介质
CN109241014A (zh) * 2018-07-04 2019-01-18 阿里巴巴集团控股有限公司 数据处理方法、装置和服务器
CN109388628A (zh) * 2018-08-28 2019-02-26 平安科技(深圳)有限公司 系统日志查询方法、装置、计算机设备及存储介质
CN109522313A (zh) * 2018-10-15 2019-03-26 深圳云天励飞技术有限公司 搜索服务器刷索引的方法、装置、设备及可读存储介质
CN109710439A (zh) * 2018-12-12 2019-05-03 百度在线网络技术(北京)有限公司 故障处理方法和装置
CN110222242A (zh) * 2019-05-21 2019-09-10 无线生活(杭州)信息科技有限公司 配置追踪方法及装置
CN110535722A (zh) * 2019-08-27 2019-12-03 江苏瑞中数据股份有限公司 一种跨安全区域的微服务全链路运行监控方法
CN110855477A (zh) * 2019-10-29 2020-02-28 浙江大搜车软件技术有限公司 链路日志监控方法、装置、计算机设备和存储介质
CN111522922A (zh) * 2020-03-26 2020-08-11 浙江口碑网络技术有限公司 日志信息查询方法、装置、存储介质及计算机设备
CN111858115A (zh) * 2019-11-28 2020-10-30 北京嘀嘀无限科技发展有限公司 业务问题定位方法、定位装置、计算机设备及存储介质
CN112433987A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 一种文件维护的轨迹记录方法、装置及电子设备
CN112925757A (zh) * 2021-03-26 2021-06-08 广东好太太智能家居有限公司 一种追踪智能设备操作日志的方法、设备、存储介质
CN113254309A (zh) * 2021-05-25 2021-08-13 厦门市易联众易惠科技有限公司 一种业务系统错误主动预警系统及方法
CN113434464A (zh) * 2021-06-24 2021-09-24 江苏创源电子有限公司 一种分布式日志处理系统和方法
CN113656277A (zh) * 2020-05-12 2021-11-16 阿里巴巴集团控股有限公司 一种日志存储方法及装置和智能音箱及云端服务器
CN115118583A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 日志查询方法、装置、电子设备及计算机可读存储设备
CN117473172A (zh) * 2023-12-28 2024-01-30 深圳海智创科技有限公司 基于用户操作的信息处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281672A (zh) * 2014-09-28 2015-01-14 网神信息技术(北京)股份有限公司 日志数据的处理方法和装置
WO2015090194A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 一种实现设备共享的方法和装置
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN106789301A (zh) * 2016-12-29 2017-05-31 北京神州绿盟信息安全科技股份有限公司 一种生成web网关的运行日志的方法及装置
CN107018042A (zh) * 2017-04-13 2017-08-04 广东神马搜索科技有限公司 用于在线服务系统的追踪方法及追踪系统
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015090194A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 一种实现设备共享的方法和装置
CN104281672A (zh) * 2014-09-28 2015-01-14 网神信息技术(北京)股份有限公司 日志数据的处理方法和装置
CN106789301A (zh) * 2016-12-29 2017-05-31 北京神州绿盟信息安全科技股份有限公司 一种生成web网关的运行日志的方法及装置
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107018042A (zh) * 2017-04-13 2017-08-04 广东神马搜索科技有限公司 用于在线服务系统的追踪方法及追踪系统
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958850A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种日志优化方法、装置、设备及计算机可读存储介质
CN109241014A (zh) * 2018-07-04 2019-01-18 阿里巴巴集团控股有限公司 数据处理方法、装置和服务器
CN109241014B (zh) * 2018-07-04 2022-04-15 创新先进技术有限公司 数据处理方法、装置和服务器
CN109388628A (zh) * 2018-08-28 2019-02-26 平安科技(深圳)有限公司 系统日志查询方法、装置、计算机设备及存储介质
CN109522313B (zh) * 2018-10-15 2020-11-24 深圳云天励飞技术有限公司 搜索服务器刷索引的方法、装置、设备及可读存储介质
CN109522313A (zh) * 2018-10-15 2019-03-26 深圳云天励飞技术有限公司 搜索服务器刷索引的方法、装置、设备及可读存储介质
CN109710439A (zh) * 2018-12-12 2019-05-03 百度在线网络技术(北京)有限公司 故障处理方法和装置
CN109710439B (zh) * 2018-12-12 2023-01-24 百度在线网络技术(北京)有限公司 故障处理方法和装置
CN110222242A (zh) * 2019-05-21 2019-09-10 无线生活(杭州)信息科技有限公司 配置追踪方法及装置
CN110222242B (zh) * 2019-05-21 2022-10-11 无线生活(杭州)信息科技有限公司 配置追踪方法及装置
CN110535722A (zh) * 2019-08-27 2019-12-03 江苏瑞中数据股份有限公司 一种跨安全区域的微服务全链路运行监控方法
CN110855477A (zh) * 2019-10-29 2020-02-28 浙江大搜车软件技术有限公司 链路日志监控方法、装置、计算机设备和存储介质
CN111858115A (zh) * 2019-11-28 2020-10-30 北京嘀嘀无限科技发展有限公司 业务问题定位方法、定位装置、计算机设备及存储介质
CN111522922B (zh) * 2020-03-26 2023-08-22 浙江口碑网络技术有限公司 日志信息查询方法、装置、存储介质及计算机设备
CN111522922A (zh) * 2020-03-26 2020-08-11 浙江口碑网络技术有限公司 日志信息查询方法、装置、存储介质及计算机设备
CN113656277A (zh) * 2020-05-12 2021-11-16 阿里巴巴集团控股有限公司 一种日志存储方法及装置和智能音箱及云端服务器
CN112433987A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 一种文件维护的轨迹记录方法、装置及电子设备
CN112433987B (zh) * 2020-11-30 2024-06-25 中国人寿保险股份有限公司 一种文件维护的轨迹记录方法、装置及电子设备
CN112925757A (zh) * 2021-03-26 2021-06-08 广东好太太智能家居有限公司 一种追踪智能设备操作日志的方法、设备、存储介质
CN113254309A (zh) * 2021-05-25 2021-08-13 厦门市易联众易惠科技有限公司 一种业务系统错误主动预警系统及方法
CN113434464A (zh) * 2021-06-24 2021-09-24 江苏创源电子有限公司 一种分布式日志处理系统和方法
CN115118583B (zh) * 2022-06-29 2024-03-26 北京奇艺世纪科技有限公司 日志查询方法、装置、电子设备及计算机可读存储设备
CN115118583A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 日志查询方法、装置、电子设备及计算机可读存储设备
CN117473172A (zh) * 2023-12-28 2024-01-30 深圳海智创科技有限公司 基于用户操作的信息处理方法、装置、设备及存储介质
CN117473172B (zh) * 2023-12-28 2024-03-08 深圳海智创科技有限公司 基于用户操作的信息处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108197200B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN108197200A (zh) 日志追踪方法、装置、计算机设备和存储介质
CN111522922B (zh) 日志信息查询方法、装置、存储介质及计算机设备
CN112910945B (zh) 请求链路跟踪方法和业务请求处理方法
US10367827B2 (en) Using network locations obtained from multiple threat lists to evaluate network data or machine data
US20160301732A1 (en) Systems and Methods for Recording and Replaying of Web Transactions
CN107273267A (zh) 基于elastic组件的日志分析方法
CN106021079A (zh) 一种基于用户频繁访问序列模型的Web应用性能测试方法
CN104424287B (zh) 数据查询方法和装置
CN108228322B (zh) 一种分布式链路跟踪、分析方法及服务器、全局调度器
CN112925757A (zh) 一种追踪智能设备操作日志的方法、设备、存储介质
CN104767653A (zh) 一种网络接口监控的方法和装置
CN105869057A (zh) 评论存储设备、评论读取、评论写入方法及装置
CN112954043B (zh) 基于网站访问日志识别用户的方法及计算机设备
CN110059269A (zh) 页面追踪方法、装置、电子设备和计算机可读存储介质
CN112165451A (zh) Apt攻击分析方法、系统及服务器
CN117892348A (zh) 应用程序接口资产的管理方法、装置及电子设备
CN113434588A (zh) 基于移动通信话单的数据挖掘分析方法及装置
CN111078975A (zh) 一种多节点增量式数据采集系统及采集方法
CN116155597A (zh) 访问请求的处理方法、装置及计算机设备
CN113190236B (zh) Hql脚本校验方法及装置
Iqbal et al. Interlinking developer identities within and across open source projects: The linked data approach
CN102075355A (zh) 日志系统及其使用方法
CN115098738A (zh) 业务数据的提取方法、装置、存储介质及电子设备
CN113010588B (zh) 一种数据表格的处理方法
CN112800127A (zh) 基于交易账单的数据挖掘分析方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant