日志記錄與顯示方法及裝置制造方法
【專(zhuān)利摘要】一種日志記錄與顯示方法及裝置,該方法包括如下步驟:根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔包括預(yù)先設(shè)置的日志記錄語(yǔ)法及日志記錄格式;根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄到指定文件,得到日志文件;當(dāng)需要查看日志記錄時(shí),從上述日志文件中讀取日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的指定內(nèi)容。利用本發(fā)明可提高查看日志的效率和可讀性。
【專(zhuān)利說(shuō)明】日志記錄與顯示方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及日志記錄與顯示【技術(shù)領(lǐng)域】,尤其涉及一種金融業(yè)軟件的日志記錄與顯示方法及裝置。
【背景技術(shù)】
[0002]目前,一般金融業(yè)軟件都會(huì)記錄日志用于分析故障、查賬等,由于自助設(shè)備量大,交易量很大,導(dǎo)致日志查看工作量巨大,維護(hù)軟件成本很高,現(xiàn)有的技術(shù)方案與缺點(diǎn)如下:
通過(guò)記錄文本文件方式,采用記事本、寫(xiě)字板等工具瀏覽,記錄文本沒(méi)有規(guī)范,比較隨意,記事本、寫(xiě)字板顯示單一;
記錄文本沒(méi)有規(guī)范,瀏覽工具顯示單一、難懂,日志可讀性比較差,開(kāi)發(fā)人員查看日志效率低。查看日志要求高導(dǎo)致維護(hù)人員入門(mén)難,增加軟件的維護(hù)成本。
【發(fā)明內(nèi)容】
[0003]鑒于以上內(nèi)容,本發(fā)明提出一種日志記錄與顯示方法及裝置,通過(guò)預(yù)先設(shè)置的日志規(guī)范文檔,采用統(tǒng)一的記錄規(guī)范記錄日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的主要內(nèi)容。
[0004]所述日志記錄與顯示方法包括:
日志記錄步驟一,根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔包括預(yù)先設(shè)置的日志記錄語(yǔ)法及日志記錄格式;
日志記錄步驟二,根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄到指定文件,得到日志文件;
日志顯示步驟,當(dāng)需要查看日志記錄時(shí),從上述日志文件中讀取日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的指定內(nèi)容。
[0005]所述日志記錄與顯示裝置包括:
日志記錄模塊,用于根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔包括預(yù)先設(shè)置的日志記錄語(yǔ)法及日志記錄格式;
所述日志記錄模塊,還用于根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄到指定文件,得到日志文件;
日志顯示模塊,用于當(dāng)需要查看日志記錄時(shí),從上述日志文件中讀取日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的指定內(nèi)容。
[0006]相較于現(xiàn)有技術(shù),本發(fā)明所述的日志記錄與顯示方法及裝置,通過(guò)預(yù)先設(shè)置的日志規(guī)范文檔,采用統(tǒng)一的記錄規(guī)范記錄日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的主要內(nèi)容,提高了查看日志的效率,同時(shí)提高了軟件的可讀性,降低客服人員維護(hù)軟件的難度,達(dá)到降低程序維護(hù)成本的目的。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0007]圖1是本發(fā)明日志記錄與顯示裝置的結(jié)構(gòu)示意圖;
圖2是本發(fā)明日志記錄與顯示方法的整體流程圖;
圖3是采用圖形化顯示日志內(nèi)容的示意圖;
圖4是采用折疊層次方式顯示日志內(nèi)容的示意圖。
【具體實(shí)施方式】
[0008]如圖1所示,是本發(fā)明日志記錄與顯示裝置的結(jié)構(gòu)示意圖。在本實(shí)施方式中,所述日志記錄與顯示裝置2包括日志記錄模塊21和日志顯示模塊22,其中,所述日志記錄模塊21進(jìn)一步包括日志格式化子模塊211、日志保存子模塊212,所述日志顯示模塊22進(jìn)一步包括日志加載子模塊221、語(yǔ)法加亮顯示子模塊222、及圖形化顯示子模塊223。所述日志記錄模塊21用于通過(guò)預(yù)先設(shè)置的日志規(guī)范文檔,采用統(tǒng)一的記錄規(guī)范記錄日志,所述日志顯示模塊22用于根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的主要內(nèi)容。
[0009]本發(fā)明所稱(chēng)的模塊可以是完成一特定功能的計(jì)算機(jī)程序段,也可以是固化有上述計(jì)算機(jī)程序段的芯片。所述日志記錄與顯示裝置2可以是一臺(tái)電腦或一臺(tái)服務(wù)器,關(guān)于各個(gè)模塊的具體功能參閱圖2的描述。
[0010]需要說(shuō)明的是,圖1只是日志記錄與顯示裝置2的軟件結(jié)構(gòu)和硬件結(jié)構(gòu)的示意性說(shuō)明,該日志記錄與顯示裝置2還包括其它必要的電子元器件和系統(tǒng)軟件,如通過(guò)數(shù)據(jù)線或信號(hào)線相連的顯示屏幕、輸入設(shè)備、存儲(chǔ)器、處理器、操作系統(tǒng)等,在此不再一一贅述。所述多個(gè)模塊可以存儲(chǔ)于日志記錄與顯示裝置2的存儲(chǔ)器中并被配置成由一個(gè)或多個(gè)處理器執(zhí)行,以完成本發(fā)明。
[0011]如圖2所示,是本發(fā)明日志記錄與顯示方法的整體流程圖。
[0012]步驟SlO I,日志格式化子模塊211根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔用于描述日志記錄的語(yǔ)法及日志記錄到文件的格式。
[0013]在本實(shí)施方式中,所述日志規(guī)范文檔主要用于描述日志記錄的語(yǔ)法(以下也簡(jiǎn)稱(chēng)為“日志記錄語(yǔ)法”或“日志記錄規(guī)則”),包括但不限于,根據(jù)特定日志內(nèi)容(如金融業(yè)軟件日志)定義的相應(yīng)關(guān)鍵字,及所定義關(guān)鍵字的作用與用法,如所定義關(guān)鍵字的顯示模式等。
[0014]舉例而言,ATMC軟件H志可以定義關(guān)鍵字:[METHOD]、[GET]、[SET]、[EVENT]、[WFSAsyncGetlnfo]、[WFSAsyncExecute]等。其中,WFSAsyncGetInfo、WFSAsyncExecute 為XFS (X Filing System, X文件系統(tǒng))中的2個(gè)API函數(shù),[WFSAsyncGetlnfo]代表獲取狀態(tài)信息時(shí)采用異步方式,[WFSAsyncExecute]代表執(zhí)行指令時(shí)采用異步方式。當(dāng)定義好上述關(guān)鍵字后,在顯示日志的時(shí)候就可以根據(jù)上述關(guān)鍵字進(jìn)行語(yǔ)法高亮顯示及圖形化顯示。
[0015]進(jìn)一步地,所述日志規(guī)范文檔還描述有日志記錄到文件的格式(以下也簡(jiǎn)稱(chēng)為“日志記錄格式”)。在本實(shí)施方式中,所述日志記錄格式包括7個(gè)字段:唯一編號(hào)、時(shí)間、線程ID、代碼行、日志級(jí)別、模塊、日志內(nèi)容。除了日志內(nèi)容字段,其它字段長(zhǎng)度相同。其中,所述日志級(jí)別包括:調(diào)試、提示、告警、錯(cuò)誤。
[0016]在軟件開(kāi)發(fā)的時(shí)候,根據(jù)所述日志規(guī)范文檔記錄日志,通過(guò)日志格式化子模塊211格式化日志,其中,記錄日志只需要填寫(xiě)日志級(jí)別、模塊、及日志內(nèi)容,然后根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法在日志內(nèi)容中增加關(guān)鍵字及關(guān)鍵字的相關(guān)數(shù)據(jù)(如METHOD函數(shù)中的參數(shù)等)。在本實(shí)施方式中,所述日志格式化子模塊211提供接口如下:
#define LOGMSG (pszLevel, fmt,...) \
LogMsgEx (pszLevel, MID_CUR1, —FILE—, —LINE—, fmt, _VA_ARGS_);
步驟S102,日志保存子模塊212根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄到指定文件,得到日志文件,該日志文件設(shè)置為統(tǒng)一格式。在本實(shí)施方式中,所述日志文件采用Unicode統(tǒng)一格式,支持不同地區(qū)語(yǔ)言。
[0017]步驟S103,當(dāng)需要查看日志記錄時(shí),日志加載子模塊221從上述日志文件中讀取日志。然后,語(yǔ)法加亮顯示子模塊222根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,且圖形化顯示子模塊223在日志記錄與顯示裝置2的顯示屏幕上圖形化顯示日志內(nèi)容中的指定內(nèi)容(參閱圖3所示)。在本實(shí)施方式中,所述日志內(nèi)容中的指定內(nèi)容為所述日志內(nèi)容中的重要內(nèi)容,如硬件指令、API函數(shù)、及API函數(shù)的相關(guān)參數(shù)等。
[0018]具體而言,所述語(yǔ)法加亮顯示子模塊222根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志包括:
O默認(rèn)所有日志內(nèi)容顯示為第一顏色,如藍(lán)色;
2)錯(cuò)誤級(jí)別和告警級(jí)別的記錄顯示為第二顏色,如紅色;
3)所定義關(guān)鍵字顯示為第三顏色,如綠色,例如:[METHOD]、[EVENT]等關(guān)鍵字顯示為綠色,參閱圖3所示;
4)日志記錄與顯示裝置2的文件系統(tǒng)(如XFS)中相關(guān)的宏定義顯示為第四顏色,如粉紅色;
5)所述文件系統(tǒng)中對(duì)應(yīng)的結(jié)果參數(shù)采用折疊層次方式顯示,參閱圖4所示,所述折疊層次方式為樹(shù)形層級(jí)結(jié)構(gòu),在其他實(shí)施方式中,也可以不采用折疊層次方式顯示所述文件系統(tǒng)中對(duì)應(yīng)的結(jié)果參數(shù)。
[0019]在本實(shí)施方式中,所述圖形化顯示子模塊223圖形化顯示日志內(nèi)容中的指定內(nèi)容包括:根據(jù)所定義關(guān)鍵字及相應(yīng)的顯示模式,繪制出時(shí)序圖,以圖形化模式顯示日志內(nèi)容中的指定內(nèi)容。參閱圖3所示,所述時(shí)序圖為根據(jù)日志記錄的時(shí)間順序繪制的圖形,在本實(shí)施方式中,所述時(shí)序圖中顯示日志內(nèi)容中的重要內(nèi)容,以快速定位問(wèn)題、找到主要矛盾。
[0020]進(jìn)一步地,在本實(shí)施方式中,所述繪制的時(shí)序圖顏色為可配置選項(xiàng),所述可配置選項(xiàng)包括但不限于,時(shí)序圖背景顏色配置和時(shí)序圖對(duì)象顏色相關(guān)配置,具體配置方法如下:
<ChartView background="RGB: 255,255,255〃 arrowcolor= 〃RGB:0, O, 255"> //時(shí)序圖背景顏色配置〈Objects〉
〈Object id="l" name="APP" left="180" width="60〃 textcolor="RGB:255,0,0〃linecolor=〃RGB:0,0,0〃 /> //時(shí)序圖對(duì)象顏色相關(guān)配置
〈Object id="2" name="YHAX〃 left="550" width="60〃 textcolor="RGB:255,0,0〃linecolor=〃RGB:0,0,0〃 /> //時(shí)序圖對(duì)象顏色相關(guān)配置
〈Object id="3" name="SP" left="920" width="60〃 textcolor="RGB:255,0,0〃linecolor=〃RGB:0,0,0〃 /> //時(shí)序圖對(duì)象顏色相關(guān)配置〈/Objects〉
</ChartView>
綜上所述,本發(fā)明所述的日志記錄與顯示方法及裝置,首先自定義日志記錄的語(yǔ)法規(guī)范,記錄規(guī)范的日志,并根據(jù)約定的語(yǔ)法規(guī)范高亮顯示日志,圖形化顯示日志的主要內(nèi)容,日志展示規(guī)范、豐富,具有如下有益效果:(1)格式整齊,預(yù)先定義的語(yǔ)法內(nèi)容加亮顯示,日志可讀性高;(2)重要內(nèi)容圖形化顯示,主要流程快速呈現(xiàn);(3)故障顯示紅色,快速定位故障位置;(4)客服人員也很容易查看日志并處理問(wèn)題;(5)提高了日志可讀性和軟件的可維護(hù)性,降低軟件維護(hù)成本。
[0021]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的詳細(xì)說(shuō)明,不能認(rèn)定具體實(shí)施只局限于這些說(shuō)明。對(duì)于所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種日志記錄與顯示方法,應(yīng)用于日志記錄與顯示裝置,其特征在于,該方法包括: 日志記錄步驟一,根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔包括預(yù)先設(shè)置的日志記錄語(yǔ)法及日志記錄格式; 日志記錄步驟二,根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄到指定文件,得到日志文件;及 日志顯示步驟,當(dāng)需要查看日志記錄時(shí),從上述日志文件中讀取日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的指定內(nèi)容。
2.根據(jù)權(quán)利要求1所述的日志記錄與顯示方法,其特征在于,所述日志記錄語(yǔ)法用于定義日志內(nèi)容中的關(guān)鍵字,及所定義關(guān)鍵字的顯示模式。
3.根據(jù)權(quán)利要求2所述的日志記錄與顯示方法,其特征在于,所述日志記錄格式包括如下字段:唯一編號(hào)、時(shí)間、線程ID、代碼行、日志級(jí)別、模塊、及日志內(nèi)容,其中,所述日志級(jí)別包括:調(diào)試、提示、告警、錯(cuò)誤。
4.根據(jù)權(quán)利要求2所述的日志記錄與顯示方法,其特征在于,所述根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志的步驟包括: 默認(rèn)所有日志內(nèi)容顯示為第一顏色; 錯(cuò)誤級(jí)別和告警級(jí)別的記錄顯示為第二顏色; 所定義關(guān)鍵字顯示為第三顏色;及 文件系統(tǒng)中相關(guān)的宏定義顯示為第四顏色。
5.根據(jù)權(quán)利要求4所述的日志記錄與顯示方法,其特征在于,所述根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志的步驟還包括: 所述文件系統(tǒng)中對(duì)應(yīng)的結(jié)果參數(shù)采用折疊層次方式顯示,其中,所述折疊層次方式為樹(shù)形層級(jí)結(jié)構(gòu)。
6.根據(jù)權(quán)利要求4所述的日志記錄與顯示方法,其特征在于,所述圖形化顯示日志內(nèi)容中的指定內(nèi)容的步驟包括: 根據(jù)所定義關(guān)鍵字及相應(yīng)的顯示模式,繪制出時(shí)序圖,以圖形化模式顯示日志內(nèi)容中的指定內(nèi)容,其中,所述時(shí)序圖為根據(jù)日志記錄的時(shí)間順序繪制的圖形。
7.根據(jù)權(quán)利要求6所述的日志記錄與顯示方法,其特征在于,所述日志內(nèi)容中的指定內(nèi)容包括:硬件指令、API函數(shù)、及API函數(shù)的相關(guān)參數(shù)。
8.根據(jù)權(quán)利要求6所述的日志記錄與顯示方法,其特征在于,所述繪制的時(shí)序圖顏色為可配置選項(xiàng),其中,所述可配置選項(xiàng)包括時(shí)序圖背景顏色配置和時(shí)序圖對(duì)象顏色配置。
9.一種日志記錄與顯示裝置,其特征在于,該裝置包括: 日志記錄模塊,用于根據(jù)預(yù)先設(shè)置的日志規(guī)范文檔對(duì)日志進(jìn)行格式化操作,得到格式化的日志,該日志規(guī)范文檔包括預(yù)先設(shè)置的日志記錄語(yǔ)法及日志記錄格式; 所述日志記錄模塊,還用于根據(jù)預(yù)先設(shè)置的日志記錄格式,將上述格式化的日志記錄至IJ指定文件,得到日志文件;及 日志顯示模塊,用于當(dāng)需要查看日志記錄時(shí),從上述日志文件中讀取日志,根據(jù)預(yù)先設(shè)置的日志記錄語(yǔ)法加亮顯示日志,并圖形化顯示日志內(nèi)容中的指定內(nèi)容。
10.根據(jù)權(quán)利要求9所述的日志記錄與顯示裝置,其特征在于,所述日志記錄語(yǔ)法用于定義日志內(nèi)容中的關(guān)鍵字,及所定義關(guān)鍵字的顯示模式。
【文檔編號(hào)】G06F17/30GK104376043SQ201410541234
【公開(kāi)日】2015年2月25日 申請(qǐng)日期:2014年10月14日 優(yōu)先權(quán)日:2014年10月14日
【發(fā)明者】李進(jìn)南 申請(qǐng)人:深圳怡化電腦股份有限公司, 深圳市怡化時(shí)代科技有限公司, 深圳市怡化金融智能研究院