CN106021348A - 一种日志文件滚动存储*** - Google Patents

一种日志文件滚动存储*** Download PDF

Info

Publication number
CN106021348A
CN106021348A CN201610302554.6A CN201610302554A CN106021348A CN 106021348 A CN106021348 A CN 106021348A CN 201610302554 A CN201610302554 A CN 201610302554A CN 106021348 A CN106021348 A CN 106021348A
Authority
CN
China
Prior art keywords
msh
debug
daily record
debugd
log
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
CN201610302554.6A
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.)
Shenzhen Baimi Life Co Ltd
Original Assignee
Shenzhen Baimi Life 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 Shenzhen Baimi Life Co Ltd filed Critical Shenzhen Baimi Life Co Ltd
Priority to CN201610302554.6A priority Critical patent/CN106021348A/zh
Publication of CN106021348A publication Critical patent/CN106021348A/zh
Pending legal-status Critical Current

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/13File access structures, e.g. distributed indices
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志文件滚动存储***,MSH‑DEBUGD模块包括日志子模块和用于记录debug信息的debug子模块;日志子模块包括msh‑debugd守护进程和msh‑debug.so共享库,Msh‑debug.so共享库提供日志的打开、记录以及关闭三种类型的接口,第三方程序使用共享库提供接口将日志debug信息发送到msh‑debugd守护进程,msh‑debugd守护进程接收到日志debug信息后,对日志就行存储或者发送到远程日志服务器,对debug信息就行选择性打印到终端控制台。本发明中路由器日志文件可以被配置,也可以被过滤,也可以保存到本端或者远端,大大方便了使用。

Description

一种日志文件滚动存储***
技术领域
本发明涉及计算机***领域,具体涉及一种日志文件滚动存储***。
背景技术
在openwrt中,busybox中实现了syslogd 和 logread;
syslogd用来记录log, logged则用来读取log;
Syslogd与各相关进程通过UBUS协议,将日志信息记录在一块共享内存中,这块共享内存,是以一个循环链表的形式组织的,并且链表长度是固定的,如果日志信息达到上限,则每次会覆盖掉最早的那条日志。logread 通过读取这个共享内存,达到日志输出的效果。
现有的实现方法中存在的问题:
1、日志记录在内存中,如果断电,日志信息则不能保存下来;
2、Openwrt***的syslogd依赖***本身的UBUS子***,离开openwrt体系,不能独立运行,所以,移植性不好;
3、Openwrt的日志***,不能对日志信息进行过滤以及分级。
发明内容
为解决上述问题,本发明提供了一种日志文件滚动存储***,路由器日志文件可以被配置,也可以被过滤,也可以保存到本端或者远端,大大方便了使用。
为实现上述目的,本发明采取的技术方案为:
一种日志文件滚动存储***,包括MSH-DEBUGD模块,所述MSH-DEBUGD模块为基于百米生活定制化的openwrt***的一个日志管理模块,所述MSH-DEBUGD模块包括日志子模块和用于记录debug信息的debug子模块; 所述日志子模块包括msh-debugd守护进程和msh-debug.so共享库,Msh-debug.so共享库提供日志的打开、记录以及关闭三种类型的接口,第三方程序使用共享库提供接口将日志debug信息发送到msh-debugd守护进程,msh-debugd守护进程接收到日志debug信息后,对日志就行存储或者发送到远程日志服务器,对debug信息就行选择性打印到终端控制台。
其中,所述就行存储采用以下步骤:
用户配置日志文件的最大值,保存日志时,需将把日志文件分为两个文件保存,每个日志文件的大小是用户配置的一半。
其中,所述msh-debug.so共享库提供3种接口,分别是opendebug、mshdebug和closedebug,Opendebug和closedebug具有打开和关闭日志/debug记录功能,mshdebug包括标准的mshdebug以及mshdebug+两个接口,mshdebug和syslog功能类似,用于将指定消息发送给msh-debugd守护进程,并且进行相应的处理,Mshdebug+接口,用于将制定消息发送给msh-debugd守护进程外,还用于把调用该接口时的当前函数名和代码的当前行号发送出去,还可以为debug功能提供详细的错误定位功能。
其中,所述Msh-debugd守护进程用于作为一个本地日志的服务器,接收其他应用程序的日志以及debug信息,还用于作为日志的保的略客户端,负责根据UCI的相关配置,对接收的日志就行本地存储或者远程存储或者直接输出到控制台。
其中,UCI配置支持本地日志保存路径、日志文件大小、远程日志服务器的IP和port配置,debug信息支持的客户端列表配置。
本发明具有以下有益效果:
路由器日志文件可以被配置,也可以被过滤,也可以保存到本端或者远端,大大方便了使用。
附图说明
图1为本发明实施例一种日志文件滚动存储***的***原理框图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种日志文件滚动存储***,包括MSH-DEBUGD模块,所述MSH-DEBUGD模块为基于百米生活定制化的openwrt***的一个日志管理模块,所述MSH-DEBUGD模块包括日志子模块和用于记录debug信息的debug子模块; 所述日志子模块包括msh-debugd守护进程和msh-debug.so共享库,Msh-debug.so共享库提供日志的打开、记录以及关闭三种类型的接口,第三方程序使用共享库提供接口将日志debug信息发送到msh-debugd守护进程,msh-debugd守护进程接收到日志debug信息后,对日志就行存储或者发送到远程日志服务器,对debug信息就行选择性打印到终端控制台。
所述就行存储采用以下步骤:
用户配置日志文件的最大值,保存日志时,需将把日志文件分为两个文件保存,每个日志文件的大小是用户配置的一半。比如用户配置日志文件大小为32K,文件名为log,则,日志文件会分割成log0和log1两个文件,每个文件的最大值为16K。这样做的目的是可以保证log0里的日志,一定比log1里的日志更旧,当log大小达到16K后,日志会一次性刷到log0中,当日志再次达到16K后,日志会再次刷新到log1中,此时,log1为最新的log。而,当第三次需要下刷日志时,会线把log1内容保存到log0,而把最新log刷到log1中,测试,log1依然是最新的log,以此循环。可以保证,每次log1的日志,都是最新的日志。而且还能保证往flash里刷日志的频率不会过于频繁。
所述msh-debug.so共享库提供3种接口,分别是opendebug、mshdebug和closedebug,Opendebug和closedebug具有打开和关闭日志/debug记录功能,mshdebug包括标准的mshdebug以及mshdebug+两个接口,mshdebug和syslog功能类似,用于将指定消息发送给msh-debugd守护进程,并且进行相应的处理,Mshdebug+接口,用于将制定消息发送给msh-debugd守护进程外,还用于把调用该接口时的当前函数名和代码的当前行号发送出去,还可以为debug功能提供详细的错误定位功能。
所述Msh-debugd守护进程用于作为一个本地日志的服务器,接收其他应用程序的日志以及debug信息,还用于作为日志的保的略客户端,负责根据UCI的相关配置,对接收的日志就行本地存储或者远程存储或者直接输出到控制台。
本具体实施中UCI配置支持本地日志保存路径、日志文件大小、远程日志服务器的IP和port配置,debug信息支持的客户端列表配置。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (5)

1.一种日志文件滚动存储***,其特征在于,包括MSH-DEBUGD模块,所述MSH-DEBUGD模块为基于百米生活定制化的openwrt***的一个日志管理模块,所述MSH-DEBUGD模块包括日志子模块和用于记录debug信息的debug子模块;所述日志子模块包括msh-debugd守护进程和msh-debug.so共享库,Msh-debug.so共享库提供日志的打开、记录以及关闭三种类型的接口,第三方程序使用共享库提供接口将日志debug信息发送到msh-debugd守护进程,msh-debugd守护进程接收到日志debug信息后,对日志进行存储或者发送到远程日志服务器或者把debug信息选择性打印到终端控制台。
2.根据权利要求1所述的一种日志文件滚动存储***,其特征在于,所述进行存储采用以下步骤:
用户配置日志文件的最大值,保存日志时,需将把日志文件分为两个文件保存,每个日志文件的大小是用户配置的一半。
3.根据权利要求1所述的一种日志文件滚动存储***,其特征在于,所述msh-debug.so共享库提供3种接口,分别是opendebug、mshdebug和closedebug,Opendebug和closedebug具有打开和关闭日志/debug记录功能,mshdebug包括标准的mshdebug以及mshdebug+两个接口,mshdebug和syslog功能类似,用于将指定消息发送给msh-debugd守护进程,并且进行相应的处理,Mshdebug+接口,用于将制定消息发送给msh-debugd守护进程外,还把调用该接口时的当前函数名和代码的当前行号发送出去,还可以为debug功能提供详细的错误定位功能。
4.根据权利要求1所述的一种日志文件滚动存储***,其特征在于,所述Msh-debugd守护进程用于作为一个本地日志的服务器,接收其他应用程序的日志以及debug信息,还用于作为日志的存储,负责根据UCI的相关配置,对接收的日志就行本地存储或者远程存储或者直接输出到控制台。
5.根据权利要求1所述的一种日志文件滚动存储***,其特征在于,UCI配置支持本地日志保存路径、日志文件大小、远程日志服务器的IP和port配置,debug信息支持的客户端列表配置。
CN201610302554.6A 2016-05-09 2016-05-09 一种日志文件滚动存储*** Pending CN106021348A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610302554.6A CN106021348A (zh) 2016-05-09 2016-05-09 一种日志文件滚动存储***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610302554.6A CN106021348A (zh) 2016-05-09 2016-05-09 一种日志文件滚动存储***

Publications (1)

Publication Number Publication Date
CN106021348A true CN106021348A (zh) 2016-10-12

Family

ID=57099255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610302554.6A Pending CN106021348A (zh) 2016-05-09 2016-05-09 一种日志文件滚动存储***

Country Status (1)

Country Link
CN (1) CN106021348A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467980A (zh) * 2020-03-30 2021-10-01 西安诺瓦星云科技股份有限公司 日志输出方法、装置及***和嵌入式设备
CN113672572A (zh) * 2021-08-28 2021-11-19 芯河半导体科技(无锡)有限公司 一种嵌入式linux***syslog的日志存储方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771567A (zh) * 2009-11-10 2010-07-07 南京联创科技集团股份有限公司 自主内存数据库基于日志的数据持久或双机热备方法
CN102521269A (zh) * 2011-11-22 2012-06-27 清华大学 一种基于索引的计算机连续数据保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771567A (zh) * 2009-11-10 2010-07-07 南京联创科技集团股份有限公司 自主内存数据库基于日志的数据持久或双机热备方法
CN102521269A (zh) * 2011-11-22 2012-06-27 清华大学 一种基于索引的计算机连续数据保护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李曙聪: "基于 OPENWRT 开源路由器的智能网关***设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
金舒 等: "基于动态防火墙SecuRouter的网络安全框架", 《微计算机信息杂志》 *
陈泽茂: "《信息***安全》", 30 April 2014, 武汉:武汉大学出版社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467980A (zh) * 2020-03-30 2021-10-01 西安诺瓦星云科技股份有限公司 日志输出方法、装置及***和嵌入式设备
CN113467980B (zh) * 2020-03-30 2024-06-04 西安诺瓦星云科技股份有限公司 日志输出方法、装置及***和嵌入式设备
CN113672572A (zh) * 2021-08-28 2021-11-19 芯河半导体科技(无锡)有限公司 一种嵌入式linux***syslog的日志存储方法
CN113672572B (zh) * 2021-08-28 2024-02-09 芯河半导体科技(无锡)有限公司 一种嵌入式linux***syslog的日志存储方法

Similar Documents

Publication Publication Date Title
CN105468989B (zh) 基于Linux内核监控的云存储配额管理方法
CN102497427B (zh) 实现可再生能源监测***数据采集服务的方法和装置
CN108304704A (zh) 权限控制方法、装置、计算机设备和存储介质
CN109587331A (zh) 云手机故障自动修复的方法与***
CN109361525B (zh) 重启分布式部署多服务的方法、装置、控制终端及介质
CN105828017B (zh) 一种面向视频会议的云存储接入***及方法
CN108205482B (zh) 文件挂载恢复方法
CN105808221A (zh) 一种卡片式桌面的实现方法和装置
US20140115112A1 (en) Server system and message processing method thereof
CN107608828A (zh) 数据中心掉电自动恢复的方法、***、装置及存储介质
CN106817388A (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的***
CN107612982A (zh) 一种降低功能页面请求次数的方法、存储介质、设备及***
CN106021348A (zh) 一种日志文件滚动存储***
CN113987393A (zh) 一种网页操作记录器、***、装置及方法
CN107948242A (zh) 多服务号模板消息发送方法及***
CN110209605A (zh) Pcie总线网卡的寄存器读写方法和计算设备
CN113900939A (zh) 测试环境访问方法、装置、可读存储介质和计算机设备
CN109445988A (zh) 异构容灾方法、装置、***、服务器和容灾平台
CN106358220A (zh) 异常联系人信息的检测方法、装置及***
CN110162982B (zh) 检测非法权限的方法及装置、存储介质、电子设备
CN106685744A (zh) 一种故障排除方法、装置及***
CN105991568A (zh) 一种代理实现装置
CN107657672A (zh) 用户签到方法、装置、***及存储介质
CN107436826B (zh) 一种冷数据处理方法及终端
CN104519516B (zh) 对存储器进行测试的方法及装置

Legal Events

Date Code Title Description
C06 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012