一種api調(diào)試日志打印方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種API調(diào)試日志打印方法及裝置。
【背景技術(shù)】
[0002]API (Applicat1n Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件得以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
[0003]API在對(duì)外提供接口調(diào)用服務(wù)的時(shí)候,往往需要調(diào)用方傳入若干個(gè)(或一個(gè))參數(shù),通過(guò)給不同的參數(shù)傳入不同的值來(lái)獲取想要的數(shù)據(jù),這一般需要API本身做若干種(或一種)邏輯處理,API通過(guò)分析傳入?yún)?shù)并利用上述邏輯處理獲取到調(diào)用方想要的數(shù)據(jù)之后把這些數(shù)據(jù)傳輸給調(diào)用方。當(dāng)在API邏輯處理比較復(fù)雜的情況下,可能出現(xiàn)調(diào)用方得到返回?cái)?shù)據(jù)與預(yù)期不符的情況,這有可能是調(diào)用方?jīng)]有完全理解API的邏輯處理細(xì)節(jié)導(dǎo)致。在這種情況下,API需要提供相應(yīng)的調(diào)試方法給調(diào)用方,比如提供詳細(xì)的調(diào)試日志,讓調(diào)用方明白API邏輯處理的細(xì)節(jié),讓調(diào)用方清晰的明白為什么會(huì)返回這樣的數(shù)據(jù)。
[0004]—般現(xiàn)有的API服務(wù)進(jìn)程的啟動(dòng)參數(shù)中都會(huì)有一個(gè)用于設(shè)置調(diào)試級(jí)別的參數(shù),API服務(wù)進(jìn)程啟動(dòng)的時(shí)候增加了這個(gè)參數(shù)就可以讓API打印出相應(yīng)級(jí)別的調(diào)試日志。然而,現(xiàn)有的調(diào)試方法有以下缺點(diǎn):首先,打開(kāi)和關(guān)閉調(diào)試日志必須重新啟動(dòng)API服務(wù)進(jìn)程,在生產(chǎn)環(huán)境下重啟API進(jìn)程服務(wù)一般都會(huì)有一定的風(fēng)險(xiǎn),一般的原則都是盡量避免在生產(chǎn)環(huán)境下重啟API服務(wù)進(jìn)程,而且生產(chǎn)環(huán)境下的重要API進(jìn)程服務(wù)一般都需要審批才能被允許重啟,這就導(dǎo)致了調(diào)試相對(duì)比較困難。其次,現(xiàn)有的調(diào)試方法只能整體控制API服務(wù)進(jìn)程打印或者不打印詳細(xì)的調(diào)試日志,這會(huì)導(dǎo)致很多不必要的調(diào)試日志被打印出來(lái),在生產(chǎn)環(huán)境下打開(kāi)高級(jí)別的調(diào)試日志可能會(huì)讓日志文件暴漲,引起日志文件填滿磁盤空間或持續(xù)負(fù)載過(guò)高的問(wèn)題,有很大的風(fēng)險(xiǎn)。而實(shí)際上往往只需要打印出某個(gè)(或某些)調(diào)用方調(diào)用而產(chǎn)生的調(diào)試日志就能達(dá)到當(dāng)次調(diào)試的目的。此外,在現(xiàn)有的調(diào)試方法中,所有因調(diào)用方調(diào)用而產(chǎn)生的調(diào)試日志一般會(huì)混合到一起,不能(或不易)通過(guò)關(guān)鍵字來(lái)區(qū)分查找。
【發(fā)明內(nèi)容】
[0005]為解決現(xiàn)有技術(shù)中所存在的上述問(wèn)題,本發(fā)明提供一種API調(diào)試日志打印方法,通過(guò)在API和調(diào)用方之間引入調(diào)試令牌來(lái)實(shí)現(xiàn)對(duì)調(diào)試日志的打印權(quán)限,以提升API調(diào)試日志打印的可控性及安全性。
[0006]另,本發(fā)明還提供一種API調(diào)試日志打印裝置。
[0007]一種API調(diào)試日志打印方法,包括步驟:
[0008]接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求,所述打印請(qǐng)求中包括調(diào)試令牌;
[0009]根據(jù)所述調(diào)試令牌對(duì)應(yīng)的預(yù)設(shè)特征信息,判斷所述調(diào)試令牌是否有效,所述預(yù)設(shè)特征信息用于表征所述調(diào)試令牌的有效屬性;
[0010]當(dāng)判斷所述調(diào)試令牌有效時(shí),查找并打印所述調(diào)試日志打印請(qǐng)求對(duì)應(yīng)的調(diào)試日V 1、1、O
[0011]其中,所述接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求之前,還包括:
[0012]接收調(diào)試令牌預(yù)設(shè)指令,預(yù)設(shè)所述調(diào)試令牌對(duì)應(yīng)的特征信息,所述特征信息包括所述調(diào)試令牌的令牌值。
[0013]其中,所述判斷所述調(diào)試令牌是否有效,包括:
[0014]讀取所述調(diào)試令牌的令牌值,并將所述令牌值與所述調(diào)試令牌的預(yù)設(shè)令牌值比較,當(dāng)所述令牌值與所述預(yù)設(shè)令牌值相同時(shí),判斷所述調(diào)試令牌有效。
[0015]其中,所述特征信息還包括所述調(diào)試令牌的生存周期、日志打印配額及已用打印配額,則所述判斷所述調(diào)試令牌是否有效,包括:
[0016]讀取所述調(diào)試令牌的令牌值、生存周期、日志打印配額及已用打印配額,并判斷所述令牌值與所述預(yù)設(shè)令牌值是否相同,所述調(diào)試令牌是否處于所述生存周期內(nèi),以及所述已用打印配額是否已達(dá)到所述日志打印配額;
[0017]當(dāng)所述令牌值與所述預(yù)設(shè)令牌值相同,所述調(diào)試令牌處于所述生存周期內(nèi),且所述調(diào)試令牌的已用打印配額未達(dá)到所述日志打印配額時(shí),判斷所述調(diào)試令牌有效。
[0018]其中,所述打印請(qǐng)求中還包括調(diào)試級(jí)別參數(shù),當(dāng)判斷所述調(diào)試令牌有效時(shí),所述查找并打印所述調(diào)試日志打印請(qǐng)求對(duì)應(yīng)的調(diào)試日志,包括:
[0019]根據(jù)所述調(diào)試級(jí)別參數(shù),查找并打印與所述調(diào)試級(jí)別對(duì)應(yīng)的調(diào)試日志,其中所述調(diào)試級(jí)別參數(shù)用于表征所述調(diào)試日志對(duì)應(yīng)的調(diào)試級(jí)別。
[0020]—種API調(diào)試日志打印裝置,包括:
[0021]接收單元,用于接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求,所述打印請(qǐng)求中包括調(diào)試令牌;
[0022]處理單元,用于根據(jù)所述調(diào)試令牌對(duì)應(yīng)的預(yù)設(shè)特征信息,判斷所述調(diào)試令牌是否有效,所述預(yù)設(shè)特征信息用于表征所述調(diào)試令牌的有效屬性;
[0023]打印單元,用于當(dāng)判斷所述調(diào)試令牌有效時(shí),查找并打印所述調(diào)試日志打印請(qǐng)求對(duì)應(yīng)的調(diào)試日志。
[0024]其中,所述裝置還包括:
[0025]預(yù)設(shè)單元,用于接收調(diào)試令牌預(yù)設(shè)指令,預(yù)設(shè)所述調(diào)試令牌對(duì)應(yīng)的特征信息,所述特征信息包括所述調(diào)試令牌的令牌值。
[0026]其中,所述處理單元還用于:
[0027]讀取所述調(diào)試令牌的令牌值,并將所述令牌值與所述調(diào)試令牌的預(yù)設(shè)令牌值比較,當(dāng)所述令牌值與所述預(yù)設(shè)令牌值相同時(shí),判斷所述調(diào)試令牌有效。
[0028]其中,所述特征信息還包括所述調(diào)試令牌的生存周期、日志打印配額及已用打印配額,則所述處理單元還用于:
[0029]讀取所述調(diào)試令牌的令牌值、生存周期、日志打印配額及已用打印配額,并判斷所述令牌值與所述預(yù)設(shè)令牌值是否相同,調(diào)試令牌是否處于所述生存周期內(nèi),以及所述已用打印配額是否已達(dá)到所述日志打印配額;
[0030]當(dāng)所述令牌值與所述預(yù)設(shè)令牌值相同,所述調(diào)試令牌處于所述生存周期內(nèi),且所述調(diào)試令牌的已用打印配額未達(dá)到所述日志打印配額時(shí),判斷所述調(diào)試令牌有效。
[0031]其中,所述打印請(qǐng)求中還包括調(diào)試級(jí)別參數(shù),當(dāng)判斷所述調(diào)試令牌有效時(shí),所述打印單元還用于:
[0032]根據(jù)所述調(diào)試級(jí)別參數(shù),查找并打印與所述調(diào)試級(jí)別對(duì)應(yīng)的調(diào)試日志,其中所述調(diào)試級(jí)別參數(shù)用于表征所述調(diào)試日志對(duì)應(yīng)的調(diào)試級(jí)別。
[0033]所述API調(diào)試日志打印方法通過(guò)在API和調(diào)用方之間引入具有令牌值、生存周期、日志打印配額及已用打印配額等特征信息的調(diào)試令牌,以使得API在打印調(diào)試日志時(shí),可以根據(jù)所述特征信息來(lái)對(duì)調(diào)試日志的打印進(jìn)行管控,有效提升了 API調(diào)試日志打印的可控性及安全性。
【附圖說(shuō)明】
[0034]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0035]圖1是本發(fā)明第一實(shí)施例提供的API調(diào)試日志打印方法的流程示意圖;
[0036]圖2是本發(fā)明第二實(shí)施例提供的API調(diào)試日志打印方法的流程示意圖;
[0037]圖3是本發(fā)明第三實(shí)施例提供的API調(diào)試日志打印方法的流程示意圖;
[0038]圖4是本發(fā)明第四實(shí)施例提供的API調(diào)試日志打印裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本