CN106021348A - 一种日志文件滚动存储*** - Google Patents
一种日志文件滚动存储*** Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling 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信息支持的客户端列表配置。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771567A (zh) * | 2009-11-10 | 2010-07-07 | 南京联创科技集团股份有限公司 | 自主内存数据库基于日志的数据持久或双机热备方法 |
CN102521269A (zh) * | 2011-11-22 | 2012-06-27 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
-
2016
- 2016-05-09 CN CN201610302554.6A patent/CN106021348A/zh active Pending
Patent Citations (2)
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)
Title |
---|
李曙聪: "基于 OPENWRT 开源路由器的智能网关***设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
金舒 等: "基于动态防火墙SecuRouter的网络安全框架", 《微计算机信息杂志》 * |
陈泽茂: "《信息***安全》", 30 April 2014, 武汉:武汉大学出版社 * |
Cited By (4)
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 |