如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
总第223期计算机与数字工程V01.36No.52008年第5期Computer&DigitalEngineering90网络管理系统日志输出的实现王刚(武汉邮电科学研究院武汉430074)摘要在网络管理系统中,后台程序是24小时不断运行的。会有大量的数据流,在程序内部传递,或者封装到IP包中在网络中传递。介绍了一种可通用的数据流日志输出的实现方法,可按照一定格式将数据流内容记录成二进制日志文件,并且具有一定可读性,能够设置大小和个数和过滤条件。可广泛用于后台程序,准确记录实时的数据流,作为定位问题的依据。关键词数据流输出实现二进制日志中图分类号TP393.09ImplementofOutputDataStreamLogWangGang(WuhanResearchInstituteofPostandTelecommunications,Wuhan430074)AbstractInnetworkmanagementsystem,theserviceprogramsarerunningfor24hours.ThereisalotofdatastreamwhichistransmitedinsidetheprogramorinthenetworkbyencapsulatedinIPpacket.Thisarticleintroducesacommonimple—mentofOHtputdatastreamlog.Itcanrecordthedatastreamintobinarylogfileswhichwerereadable.ItalsoCansetthefile’Ssize.amountandthefiltercondition.ThecontentCanbebrowsedbydevelopaninterfacetoo1.ItCancommonlybeusedinback—groundprogram,recordthedatastreamcorrectlyastheevidencetolocalizetheproblem.Keywordsdatastream,implementofoutput,binarylogClassNumberTP393.09头,便于统一管理。可通过ini文件,设置是否记录1引言日志,并可以设置过滤条件,有选择性的进行记录,在网络管理系统中会有大量的数据流在程序准确有效的从繁多的数据结构中滤出所需要的数模块间传递,还有一些封装IP包发送到网络中,这据流记录到指定的目录中,从而能够在网络管理系些数据通常是不可见的,存在于内存中。数据流的统长时间的运行过程中,记录全部或者选取重要数记录的特点是适时的、发送不连续、不可保留,对于据,例如控制命令,配置数据等等按统一格式详细大量二进制内存数据,也无法识别。本文提出了一记录下来,一旦出现问题,可有效的定位查找数据,种通用的日志记录方案,实现了数据的实时记录和定位问题,为网络管理系统对设备的监控维护提供杏看了强有力的保障。2网络管理系统的数据日志特点3日志输出的实现在网络管理系统中,后台程序是24小时不断基本设计思想是建立一个MdDataLog的动态运行的。在网管长期的运行过程中,对下发的控制库,提供输出日志的接口函数0utputMdDataL0G()命令或者配置数据等等,无法记录,一旦发现问题,给后台各个程序调用,日志记录功能都在动态库内无法定位问题。部实现,与后台服务无关,采用单线程,异步队列存本文设计的日志输出功能,日志有统一的日志取数据结构,在datalog.ini中可以对日志开关、大收稿日期:2007年l2月27日,修回日期:2008年1月11日作者简介:王刚,男,硕士,软件工程师,研究方向:通信与信息系统。第36卷(2oo8)第5期计算机与数字工程91小、个数、过滤条件进行设置,调用时先判断条件,动态库初始化CMdDataLog()的时候启动线符合的加入队列。从队列中获取数据结构后,根据程,载入条件LoadCondition(constchar日志类型写对应的日志,另外输出一个动态库自身pFileName);的运行信息日志供调试使用。内部调用函数Inter—OutputMdDatal0g(DWORD对外接口:dwLogType,constBYTEpBuf,DWORDdw-一deelspec(dllexport)int0utputMdDatal0gLength);先构成内部数据结构,(拷贝数据),(DWORDdwLogType,constBYTEpBuf,匹对条件,IsAccordWithCondition(D