CN109669848A - 日志生成方法、应用服务器、日志服务器及日志生成系统 - Google Patents

日志生成方法、应用服务器、日志服务器及日志生成系统 Download PDF

Info

Publication number
CN109669848A
CN109669848A CN201710963749.XA CN201710963749A CN109669848A CN 109669848 A CN109669848 A CN 109669848A CN 201710963749 A CN201710963749 A CN 201710963749A CN 109669848 A CN109669848 A CN 109669848A
Authority
CN
China
Prior art keywords
log
server
daily record
record data
application
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.)
Pending
Application number
CN201710963749.XA
Other languages
English (en)
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.)
BYD Co Ltd
Original Assignee
BYD 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 BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN201710963749.XA priority Critical patent/CN109669848A/zh
Publication of CN109669848A publication Critical patent/CN109669848A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志生成方法、应用服务器、日志服务器及日志生成系统,其中,日志生成方法包括:启动应用程序,并加载日志记录组件;通过日志记录组件监控应用程序产生的日志,并判断日志是否符合预设级别;记录符合预设级别的日志,并生成日志对象;序列化日志对象,以生成与其对应的日志数据;将日志数据发送至日志服务器。本发明实施例的日志生成方法、应用服务器、日志服务器及日志生成系统,通过日志记录组件监控应用程序产生的日志,并记录符合预设级别的日志,生成日志对象,然后序列化日志对象,以生成与其对应的日志数据,以及将日志数据发送至日志服务器,能够有效降低收集日志困难程度和操作成本,实现简单。

Description

日志生成方法、应用服务器、日志服务器及日志生成系统
技术领域
本发明涉及服务器技术领域,尤其涉及一种日志生成方法、应用服务器、日志服务器及日志生成系统。
背景技术
在负载均衡系统或者集群系统中,会出现一个应用程序运行在多个服务器上的情况。此时若想查看某一应用程序对应的日志,需要将多个服务器上存储的日志分别进行打印,导致收集日志困难,增加操作成本的问题。目前,主要通过以下两种方法收集日志。第一种方法:通过应用程序在运行过程中,将生成的日志存储在同一个数据库表中实现日志的合并。第二种方法:通过消息队列技术来收集。应用程序启动时,消息队列服务器创建一个消息队列,日志服务器向消息队列服务器订阅同一个消息队列。应用程序将运行过程中产生的日志发送至消息队列服务器,然后由消息队列服务器将日志发送至日志服务器。
但是,第一种方法在日志数据量大时,频繁地对数据库操作,会消耗过多系统资源,导致应用程序性能下降;第二种方法只包括一对一和一对多两种模式。即一个应用程序只能对应向一个消息队列中发送日志,不能实现多个应用程序向同一个消息队列中发送日志。此外,如果一个应用程序部署在三台服务器上时,该应用程序需要向三个不同的消息队列中发送日志,日志服务器需要订阅三个不同的消息队列以获取对应的日志。如果服务器发生硬件变化,则需要修改日志服务器的代码,实现和管理过于复杂。
发明内容
本发明提供一种日志生成方法、应用服务器、日志服务器及日志生成系统,以解决上述技术问题中的至少一个。
本发明实施例提供一种日志生成方法,包括:启动应用程序,并加载日志记录组件;通过所述日志记录组件监控所述应用程序产生的日志,并判断所述日志是否符合预设级别;记录符合预设级别的日志,并生成日志对象;序列化所述日志对象,以生成与其对应的日志数据;将所述日志数据发送至日志服务器。
本发明实施例的日志生成方法,通过日志记录组件监控应用程序产生的日志,并记录符合预设级别的日志,生成日志对象,然后序列化日志对象,以生成与其对应的日志数据,以及将日志数据发送至日志服务器,能够有效降低收集日志困难程度和操作成本,实现简单。
本发明另一实施例提供一种日志生成方法,包括:加载日志记录组件;通过所述日志记录组件接收至少一个应用服务器发送的传送请求,所述传送请求包括所述至少一个应用服务器生成的日志数据;采用反应者多线程模型处理所述日志数据;反序列化所述日志数据,以生成与其对应的日志对象;根据所述日志对象确定日志输出格式;根据所述日志输出格式输出日志信息。
本发明实施例的日志生成方法,通过日志记录组件接收至少一个应用服务器发送的传送请求,并采用反应者多线程模型处理所述日志数据,再反序列化所述日志数据,以生成与其对应的日志对象,然后根据所述日志对象确定日志输出格式,最后根据所述日志输出格式输出日志信息,能够有效降低收集日志困难程度和操作成本,实现简单,保证系统性能。
本发明又一实施例提供一种应用服务器,包括:加载模块,用于启动应用程序,并加载日志记录组件;监控模块,用于通过所述日志记录组件监控所述应用程序产生的日志,并判断所述日志是否符合预设级别;记录模块,用于记录符合预设级别的日志,并生成日志对象;生成模块,用于序列化所述日志对象,以生成与其对应的日志数据;发送模块,用于将所述日志数据发送至日志服务器。
本发明实施例的日志服务器,通过日志记录组件监控应用程序产生的日志,并记录符合预设级别的日志,生成日志对象,然后序列化日志对象,以生成与其对应的日志数据,以及将日志数据发送至日志服务器,能够有效降低收集日志困难程度和操作成本,实现简单。
本发明再一实施例提供一种日志服务器,包括:加载模块,用于加载日志记录组件;接收模块,用于通过所述日志记录组件接收至少一个应用服务器发送的传送请求,所述传送请求包括所述至少一个应用服务器生成的日志数据;处理模块,用于采用反应者多线程模型处理所述日志数据;生成模块,用于反序列化所述日志数据,以生成与其对应的日志对象;确定模块,用于根据所述日志对象确定日志输出格式;输出模块,用于根据所述日志输出格式输出日志信息。
本发明实施例的日志服务器,通过日志记录组件接收至少一个应用服务器发送的传送请求,并采用反应者多线程模型处理所述日志数据,再反序列化所述日志数据,以生成与其对应的日志对象,然后根据所述日志对象确定日志输出格式,最后根据所述日志输出格式输出日志信息,能够有效降低收集日志困难程度和操作成本,实现简单,保证系统性能。
本发明实施例提供一种日志生成系统,包括如第三方面实施例所述的应用服务器和第四方面实施例所述的日志服务器。
本发明实施例的日志生成系统,通过对负载均衡或者集群下的应用程序产生的日志进行合并存储,使分散的不全的日志合并为一个整体,实现了一个应用服务器能够对应多个应用程序的日志,同时按应用程序名称分开目录进行存储,方便服务器运营人员收集日志,降低操作成本。此外,在应用服务器发生硬件变化时,无需对应用程序代码进行修改,也无需对日志服务器的应用代码进行修改,可扩展性强。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的日志生成方法的流程图;
图2是根据本发明另一个实施例的日志生成方法的流程图;
图3是根据本发明一个实施例的应用服务器的结构框图;
图4是根据本发明一个实施例的日志服务器的结构框图;
图5是根据本发明一个实施例的日志生成系统的结构框图;
图6为反应者多线程模型的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的日志生成方法、应用服务器、日志服务器及日志生成系统。
图1是根据本发明一个实施例的日志生成方法的流程图,该实施例应用于应用服务器侧。
如图1所示,该日志生成方法包括:
S101,启动应用程序,并加载日志记录组件。
在本发明的一个实施例中,在应用程序启动时,日志记录组件全局的静态变量对象已经自动生成,同时加载针对该应用程序预先设置的日志级别和日志输出格式。
S102,通过日志记录组件监控应用程序产生的日志,并判断日志是否符合预设级别。
在本发明的一个实施例中,当需要记录应用程序产生的日志时,可调用日志记录组件的记录日志方法。利用该记录日志方法判断日志是否符合预设级别。也就是说,先对日志级别进行过滤,只有符合预设级别的日志才可记录。
S103,记录符合预设级别的日志,并生成日志对象。
在本发明的一个实施例中,可通过调用的日志记录方法,利用日志记录方法记录日志,然后根据日志创建日志对象。其中,日志对象可包含“应用程序名称”字段信息。
S104,序列化日志对象,以生成与其对应的日志数据。
其中,将日志对象转换为字节序列的过程称为序列化。日志数据为二进制数据。也就是说,对日志对象进行序列化生成二进制数据。
S105,将日志数据发送至日志服务器。
在本发明的一个实施例中,可通过TCP协议将日志数据发送至日志服务器。
本发明实施例的日志生成方法,启动应用程序,并加载日志记录组件,然后通过日志记录组件监控应用程序产生的日志,并判断日志是否符合预设级别,再记录符合预设级别的日志,并生成日志对象,以及序列化日志对象,以生成与其对应的日志数据,最后将日志数据发送至日志服务器,能够有效降低收集日志困难程度和操作成本,实现简单。
为了实现上述实施例,本发明还提出了一种日志生成方法。
图2是根据本发明另一个实施例的日志生成方法的流程图,该实施例应用于日志服务器侧。
如图2所示,该日志生成方法包括:
S201,加载日志记录组件。
在本发明的一个实施例中,日志服务器与应用服务器采用CS模式,通过TCP协议进行通信。如图3所示,应用服务器与日志服务器为多对一。
其中,日志服务器中设置有日志组件配置表。可根据日志组件配置表中的应用程序名称,来处理应用服务器发送的日志。在日志服务器启动时,可通过监听端口监听接收事件,即应用服务器发送来日志的事件。
具体地,日志服务器可加载日志组件。
S202,通过日志记录组件接收至少一个应用服务器发送的传送请求。
其中,传送请求包括至少一个应用服务器生成的日志数据。
S203,采用反应者多线程模型处理日志数据。
S204,反序列化日志数据,以生成与其对应的日志对象。
其中,将字节序列恢复为日志对象的过程称为反序列化。
S205,根据日志对象确定日志输出格式。
具体地,可从日志对象中解析出应用程序的名称,然后根据应用程序的名称获取与其对应的日志输出格式。
S206,根据日志输出格式输出日志信息。
具体地,可基于日志输出格式,格式化日志对象,以生成输出字符串,然后将输出字符串添加至预设日志文件中。
本发明实施例的日志生成方法,通过加载日志记录组件,并通过日志记录组件接收至少一个应用服务器发送的传送请求,然后采用反应者多线程模型处理日志数据,再反序列化日志数据,以生成与其对应的日志对象,以及根据日志对象确定日志输出格式,最后根据日志输出格式输出日志信息,能够有效降低收集日志困难程度和操作成本,实现简单,保证系统性能。
为了实现上述实施例,本发明还提出了一种应用服务器,图3是根据本发明一个实施例的应用服务器的结构框图,如图3所示,该装置包括加载模块310、监控模块320、记录模块330、生成模块340和发送模块350。
其中,加载模块310,用于启动应用程序,并加载日志记录组件;
监控模块320,用于通过日志记录组件监控应用程序产生的日志,并判断日志是否符合预设级别;
记录模块330,用于记录符合预设级别的日志,并生成日志对象;
生成模块340,用于序列化日志对象,以生成与其对应的日志数据;
发送模块350,用于将日志数据发送至日志服务器。
需要说明的是,前述对日志生成方法的解释说明,也适用于本发明实施例的应用服务器,本发明实施例中未公布的细节,在此不再赘述。
本发明实施例的应用服务器,通过日志记录组件监控应用程序产生的日志,并记录符合预设级别的日志,生成日志对象,然后序列化日志对象,以生成与其对应的日志数据,以及将日志数据发送至日志服务器,能够有效降低收集日志困难程度和操作成本,实现简单。
为了实现上述实施例,本发明还提出了一种日志服务器,图4是根据本发明一个实施例的日志服务器的结构框图,如图4所示,该装置包括加载模块410、接收模块420、处理模块430、生成模块440、确定模块450和输出模块460。
其中,加载模块410,用于加载日志记录组件;
接收模块420,用于通过日志记录组件接收至少一个应用服务器发送的传送请求,传送请求包括至少一个应用服务器生成的日志数据;
处理模块430,用于采用反应者多线程模型处理日志数据;
生成模块440,用于反序列化日志数据,以生成与其对应的日志对象;
确定模块450,用于根据日志对象确定日志输出格式;
输出模块460,用于根据日志输出格式输出日志信息。
需要说明的是,前述对日志生成方法的解释说明,也适用于本发明实施例的日志服务器,本发明实施例中未公布的细节,在此不再赘述。
本发明实施例的日志服务器,通过日志记录组件接收至少一个应用服务器发送的传送请求,并采用反应者多线程模型处理日志数据,再反序列化日志数据,以生成与其对应的日志对象,然后根据日志对象确定日志输出格式,最后根据日志输出格式输出日志信息,能够有效降低收集日志困难程度和操作成本,实现简单,保证系统性能。
为了实现上述实施例,本发明还提出了一种日志生成系统,包括第三方面实施例的应用服务器和第四方面实施例的日志服务器。
如图5所示,日志生成系统包括应用服务器510和日志服务器520。
应用服务器510和日志服务器520使用相同的日志记录组件。应用服务器510中存储有提供服务的应用程序,日志服务器520用于对应用程序产生的日志进行收集和合并等处理。应用服务器510和日志服务器520通过TCP连接,采用C/S模式通讯。应用服务器510产生日志后,主动将日志对象序列化为二进制数据,并通过TCP协议发送给日志服务器520。日志服务器520接收到二进制数据后,可将二进制数据反序列化为日志对象,然后按照应用程序名称对相同应用名称的日志进行合并存储。其中,日志记录组件可以是log4j、jdk14logger、LogKit、Darks Logs等,上述日志记录组件所记录的日志对象可被序列化,且支持socket输出。将日志通过Socket传输,属于纯IO接口操作,无需反馈机制,因此耗时低,对应用程序性能影响小。
此外,日志服务器520基于netty网络编程框架,采用反应者多线程模型对网络连接和请求处理,并发性能强大,能够处理百万级别的网络吞吐量。
例如:4个应用服务器510对应1个日志服务器520,第一个应用服务器510上运行有应用A和应用B,第二个应用服务器510上运行有应用C,第三个应用服务器510上运行有应用D,第四个应用服务器510上同样运行有应用D。日志服务器520可收集上述应用服务器510中应用产生的日志,从而按照预设的文件格式和存储路径保存日志数据,如应用A对应的存储路径为/应用A/logA.log;应用B对应的存储路径为/应用B/logB.log,以此类推。
图6为反应者多线程模型的示意图。其中,应用程序主线程注册到事件分离器,监听连接(accept)事件。当有客户端连接后,触发accept事件,服务器构建对应的客户端和服务器之间的连接通道,并在其上注册事件分离器,监听读写事件。当发生读写事件后,通过对应的读取线程进行读取操作或者写入线程进行写入操作。读取数据结束后,可从工作线程池中随机选中一个空闲的线程,进行相应的逻辑处理。该模型能够将IO接口操作和非IO接口操作分离,客户端的请求直接发送至读取线程池中,使得客户端发送的请求不会被堵塞。
具体地,应用服务器510可执行以下步骤:
步骤S8.1.1启动应用程序,并加载日志记录组件。同时加载应用程序的日志级别和日志输出格式的设定,日志记录组件全局的静态变量实例自动生成。
步骤S8.1.2应用程序通过TCP连接到日志服务器的监听端口PORT。
步骤S8.1.3应用程序调用日志记录组件的记录日志方法。
记录日志方法先对日志级别进行过滤,只有符合预先设定的日志级别才可以进行日志记录。
步骤S8.1.4日志记录组件创建一个日志对象。
步骤S8.1.5.应用程序对日志对象进行序列化生成二进制数据。
步骤S8.1.6通过TCP通道发送二进制数据至日志服务器。
具体地,日志服务器520可执行以下步骤:
步骤S8.2.1设置日志记录组件配置表。
按照应用程序名称处理应用服务器发送的二进制数据,并配置文件。其中,文件名是应用服务器侧设置的。
步骤S8.2.2日志服务器监听端口PORT,向事件分离器注册,监听连接accept事件。
步骤S8.2.3日志服务器应用加载日志记录组件,日志记录组件的静态变量实例自动生成。
步骤S8.2.4日志服务器加载哈希表。
哈希表是根据配置文件目录下的文件名和配置文件信息自动生成的,key表示应用程序名称,value表示日志输出格式。
步骤S8.2.5当有应用服务器连接到端口后,事件分离器通知应用主程序创建一个连接通道,将连接通道注册到事件分离器上监听读取事件。当有二进制数据通过socket发送时,创建一个新的线程以读取二进制数据。
步骤S8.2.6从工作线程池中任取一个空闲的线程进行逻辑处理。
将二进制数据反序列化为日志对象。
步骤S8.2.7从日志对象中解析出应用程序名称的字段。
步骤S8.2.8从哈希表中根据应用程序名称检索出相应的日志对象的输出格式。
步骤S8.2.9输出格式化后的字符串。
步骤S8.2.10日志记录组件将格式化后的日志字符串保存至预先设定好的文件系统中的文本文件中。
本发明的日志生成系统,通过对负载均衡或者集群下的应用程序产生的日志进行合并存储,使分散的不全的日志合并为一个整体,实现了一个服务器对应多个应用程序的日志,能够按应用程序名称分开目录进行存储,方便服务器运营人员收集日志,降低操作成本。此外,在应用服务器发生硬件变化时,无需对应用程序代码进行修改,也无需对日志服务器的应用代码进行修改,可扩展性强。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (17)

1.一种日志生成方法,所述方法应用于应用服务器,其特征在于,所述方法包括:
启动应用程序,并加载日志记录组件;
通过所述日志记录组件监控所述应用程序产生的日志,并判断所述日志是否符合预设级别;
记录符合预设级别的日志,并生成日志对象;
序列化所述日志对象,以生成与其对应的日志数据;
将所述日志数据发送至日志服务器。
2.如权利要求1所述的方法,其特征在于,记录符合预设级别的日志,并生成日志对象,包括:
通过所述日志记录组件调用日志记录方法,利用所述日志记录方法记录所述日志;
根据所述日志创建所述日志对象。
3.如权利要求1所述的方法,其特征在于,将所述日志数据发送至日志服务器,包括:
通过TCP协议将所述日志数据发送至所述日志服务器。
4.如权利要求1所述的方法,其特征在于,所述日志数据为二进制数据。
5.一种日志生成方法,所述方法应用于日志服务器,其特征在于,所述日志服务器与应用服务器采用CS模式,通过TCP协议进行通信,且所述应用服务器与所述日志服务器为多对一,所述方法包括:
加载日志记录组件;
通过所述日志记录组件接收至少一个应用服务器发送的传送请求,所述传送请求包括所述至少一个应用服务器生成的日志数据;
采用反应者多线程模型处理所述日志数据;
反序列化所述日志数据,以生成与其对应的日志对象;
根据所述日志对象确定日志输出格式;
根据所述日志输出格式输出日志信息。
6.如权利要求5所述的方法,其特征在于,根据所述日志对象确定日志输出格式,包括:
从所述日志对象中解析出应用程序的名称;
根据所述应用程序的名称获取与其对应的日志输出格式。
7.如权利要求5所述的方法,其特征在于,根据所述日志输出格式输出日志信息,包括:
基于所述日志输出格式,格式化所述日志对象,以生成输出字符串;
将所述输出字符串添加至预设日志文件中。
8.如权利要求5所述的方法,其特征在于,所述日志数据为二进制数据。
9.一种应用服务器,其特征在于,包括:
加载模块,用于启动应用程序,并加载日志记录组件;
监控模块,用于通过所述日志记录组件监控所述应用程序产生的日志,并判断所述日志是否符合预设级别;
记录模块,用于记录符合预设级别的日志,并生成日志对象;
生成模块,用于序列化所述日志对象,以生成与其对应的日志数据;
发送模块,用于将所述日志数据发送至日志服务器。
10.如权利要求9所述的应用服务器,其特征在于,所述记录模块,用于:通过所述日志记录组件调用日志记录方法,利用所述日志记录方法记录所述日志;
根据所述日志创建所述日志对象。
11.如权利要求9所述的应用服务器,其特征在于,所述发送模块,用于:
通过TCP协议将所述日志数据发送至所述日志服务器。
12.如权利要求9所述的应用服务器,其特征在于,所述日志数据为二进制数据。
13.一种日志服务器,其特征在于,所述日志服务器与应用服务器采用CS模式,通过TCP协议进行通信,且所述应用服务器与所述日志服务器为多对一,所述日志服务器包括:
加载模块,用于加载日志记录组件;
接收模块,用于通过所述日志记录组件接收至少一个应用服务器发送的传送请求,所述传送请求包括所述至少一个应用服务器生成的日志数据;
处理模块,用于采用反应者多线程模型处理所述日志数据;
生成模块,用于反序列化所述日志数据,以生成与其对应的日志对象;
确定模块,用于根据所述日志对象确定日志输出格式;
输出模块,用于根据所述日志输出格式输出日志信息。
14.如权利要求13所述的日志服务器,其特征在于,所述确定模块,用于:
从所述日志对象中解析出应用程序的名称;
根据所述应用程序的名称获取与其对应的日志输出格式。
15.如权利要求13所述的日志服务器,其特征在于,所述输出模块,用于:
基于所述日志输出格式,格式化所述日志对象,以生成输出字符串;
将所述输出字符串添加至预设日志文件中。
16.如权利要求13所述的日志服务器,其特征在于,所述日志数据为二进制数据。
17.一种日志生成系统,包括如权利要求9-12任一项所述的应用服务器和如权利要求13-16任一项所述的日志服务器。
CN201710963749.XA 2017-10-16 2017-10-16 日志生成方法、应用服务器、日志服务器及日志生成系统 Pending CN109669848A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710963749.XA CN109669848A (zh) 2017-10-16 2017-10-16 日志生成方法、应用服务器、日志服务器及日志生成系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710963749.XA CN109669848A (zh) 2017-10-16 2017-10-16 日志生成方法、应用服务器、日志服务器及日志生成系统

Publications (1)

Publication Number Publication Date
CN109669848A true CN109669848A (zh) 2019-04-23

Family

ID=66139568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710963749.XA Pending CN109669848A (zh) 2017-10-16 2017-10-16 日志生成方法、应用服务器、日志服务器及日志生成系统

Country Status (1)

Country Link
CN (1) CN109669848A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377569A (zh) * 2019-06-19 2019-10-25 中国平安人寿保险股份有限公司 日志监控方法、装置、计算机设备和存储介质
CN111949472A (zh) * 2019-05-17 2020-11-17 北京京东尚科信息技术有限公司 一种记录应用日志的方法及装置
CN112073408A (zh) * 2020-09-04 2020-12-11 南京星邺汇捷网络科技有限公司 基于Syslog协议和Kafka队列的监控方法
CN112506755A (zh) * 2020-12-18 2021-03-16 北京顺达同行科技有限公司 日志采集方法、装置、计算机设备和存储介质
CN112751729A (zh) * 2020-12-30 2021-05-04 平安证券股份有限公司 日志监控方法、装置、介质及电子设备
CN117742782A (zh) * 2024-02-19 2024-03-22 成都九洲电子信息系统股份有限公司 用于软件系统的日志数据跨语言自动记录方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842022A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 日志处理系统及方法
CN101464908A (zh) * 2009-01-14 2009-06-24 北京北方微电子基地设备工艺研究中心有限责任公司 一种日志记录的方法及装置
CN101753984A (zh) * 2008-11-27 2010-06-23 北京中星微电子有限公司 视频监控系统日志的处理方法、系统和服务器
CN103593277A (zh) * 2012-08-15 2014-02-19 深圳市世纪光速信息技术有限公司 日志处理方法及系统
CN104978256A (zh) * 2014-04-10 2015-10-14 阿里巴巴集团控股有限公司 一种日志输出方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842022A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 日志处理系统及方法
CN101753984A (zh) * 2008-11-27 2010-06-23 北京中星微电子有限公司 视频监控系统日志的处理方法、系统和服务器
CN101464908A (zh) * 2009-01-14 2009-06-24 北京北方微电子基地设备工艺研究中心有限责任公司 一种日志记录的方法及装置
CN103593277A (zh) * 2012-08-15 2014-02-19 深圳市世纪光速信息技术有限公司 日志处理方法及系统
CN104978256A (zh) * 2014-04-10 2015-10-14 阿里巴巴集团控股有限公司 一种日志输出方法和设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949472A (zh) * 2019-05-17 2020-11-17 北京京东尚科信息技术有限公司 一种记录应用日志的方法及装置
CN110377569A (zh) * 2019-06-19 2019-10-25 中国平安人寿保险股份有限公司 日志监控方法、装置、计算机设备和存储介质
CN110377569B (zh) * 2019-06-19 2023-07-28 中国平安人寿保险股份有限公司 日志监控方法、装置、计算机设备和存储介质
CN112073408A (zh) * 2020-09-04 2020-12-11 南京星邺汇捷网络科技有限公司 基于Syslog协议和Kafka队列的监控方法
CN112073408B (zh) * 2020-09-04 2023-12-01 南京星邺汇捷网络科技有限公司 基于Syslog协议和Kafka队列的监控方法
CN112506755A (zh) * 2020-12-18 2021-03-16 北京顺达同行科技有限公司 日志采集方法、装置、计算机设备和存储介质
CN112506755B (zh) * 2020-12-18 2023-11-03 北京顺达同行科技有限公司 日志采集方法、装置、计算机设备和存储介质
CN112751729A (zh) * 2020-12-30 2021-05-04 平安证券股份有限公司 日志监控方法、装置、介质及电子设备
CN117742782A (zh) * 2024-02-19 2024-03-22 成都九洲电子信息系统股份有限公司 用于软件系统的日志数据跨语言自动记录方法及系统
CN117742782B (zh) * 2024-02-19 2024-06-11 成都九洲电子信息系统股份有限公司 用于软件系统的日志数据跨语言自动记录方法及系统

Similar Documents

Publication Publication Date Title
CN109669848A (zh) 日志生成方法、应用服务器、日志服务器及日志生成系统
CN108282514B (zh) 一种分布式业务建立方法及装置
US9286169B2 (en) SVC cluster configuration node failover
US8799448B2 (en) Generating rule packs for monitoring computer systems
US20180063055A1 (en) Repartitioning a topic in a publish-subscribe message system
CN105119966A (zh) 一种公众号管理方法及装置
CN111352806B (zh) 日志数据监控方法及装置
CN107395458B (zh) 系统监控方法及装置
CN113010565B (zh) 基于服务器集群的服务器实时数据处理方法及系统
CN112256954A (zh) 一种消息推送的处理方法及相关系统
CN101753971A (zh) 一种统一视讯管理平台中内容管理系统中的日志系统及日志记录方法
CN111641700B (zh) 基于Ceph对象存储元数据的管理及检索的实现方法
CN109672546A (zh) 日志生成方法、应用服务器、日志服务器及日志生成系统
CN112882842A (zh) 一种基于redis存储作为消息中间件的数据传输方法
CN102811157A (zh) 流量控制方法和流量控制装置
CN113687956A (zh) 消息路由分发方法、装置、计算机设备及存储介质
CN108304293A (zh) 一种基于大数据技术的软件系统监控方法
CN113726856A (zh) 基于微服务的调控画面综合数据轻量化交互方法及系统
CN111796935B (zh) 调用日志信息的消费实例分配方法及系统
CN110809050B (zh) 基于流式计算的个性化推送系统及方法
CN111240860B (zh) 消息处理方法及服务系统
Hassan et al. A dynamic and fast event matching algorithm for a content-based publish/subscribe information dissemination system in Sensor-Grid
CN111930690B (zh) 文件生成方法及装置
CN113626869A (zh) 数据处理方法、系统、电子设备以及存储介质
CN112350921A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190423

RJ01 Rejection of invention patent application after publication