发明名称 |
一种linux下利用内核模块与应用模块结合完成软件日志的方法 |
摘要 |
本发明提供一种linux下利用内核模块与应用模块结合完成软件日志的方法,利用内核模块与应用模块结合起来完成软件的日志统,软件向内核模块写入日志信息,内核模块会把写入的日志信息已链表的形式组成起来存放,应用模块从内核层取出日志信息,并对信息按照需要的显示格式处理,最终向要保存的日志文件中输出此方法的应用可以完成linux下软件写日志的功能,可以是多模块的软件,也可以是单模块的软件,思路清晰易懂,可以按照不同的格式来输出日志文件。 |
申请公布号 |
CN103176891A |
申请公布日期 |
2013.06.26 |
申请号 |
CN201310112145.6 |
申请日期 |
2013.04.02 |
申请人 |
浪潮电子信息产业股份有限公司 |
发明人 |
吕万波;张道伟;王旭 |
分类号 |
G06F11/34(2006.01)I |
主分类号 |
G06F11/34(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种linux下利用内核模块与应用模块结合完成软件日志的方法, 其特征在于利用内核模块与应用模块结合起来完成软件的日志统,软件向内核模块写入日志信息,内核模块会把写入的日志信息已链表的形式组成起来存放,应用模块从内核层取出日志信息,并对信息按照需要的显示格式处理,最终向要保存的日志文件中输出,其中:(1)内核模块的驱动程序编写以及日志信息的存储格式的定义:内核模块是一种linux下字符驱动模块,字符驱动模块是当有日志信息写入时,把日志信息增加到模块内的日志信息链表中,写入日志信息保存在内核模块内的日志信息链表中,当日志信息取出后,保存在日志信息链表中的日志信息就被清除;日志信息的存储格式就是日志信息链表的节点数据结构,用户根据自己需求自己定义;(2)应用模块中的应用层日志处理就是当有日志信息写入时,先要把内核模块中已有的日志信息,按照自己需要显示的规则输出到指定的日志文件中;具体步骤如下:内核模块写一个linux的字符驱动程序,然后用insmod载入模块,字符驱动中,做的工作就是在write函数里面,把写入的信息加入日志信息的链表中,在read函数中从链表中取出日志信息,并清除链表中取出的日志信息;应用模块日志处理:1)应用层从内核层取出日志信息,按照要显示的格式组织每一条日志信息,格式:时间+进程ID+日志来源+描述信息,把组织好的日志信息向指定的日志文件中输入;2)在服务程序中,应该用一个单独的进程来进行应用层的日志组织格式与日志文件的输入,这样既不会影响业务逻辑,也能达到保存日志文件的作用;3)在多模块的软件中,不同的模块调用接口向加载的模块中写入日志信息,然后用一个公共的程序来组织日志格式与日志文件的输入工作,这样的一个日志统就搭建成功了。 |
地址 |
250014 山东省济南市高新区舜雅路1036号 |