試日志打印請(qǐng)求時(shí)傳遞給所述API服務(wù)進(jìn)程,也可以為空,即調(diào)用方在發(fā)出所述調(diào)試日志打印請(qǐng)求時(shí)并不定義所述調(diào)試級(jí)別參數(shù)debug_pr1rity的值。當(dāng)所述調(diào)用方在發(fā)出所述調(diào)試日志打印請(qǐng)求時(shí),若定義所述調(diào)試級(jí)別參數(shù)debug_pr1rity =L0G_ERR(6),則打印級(jí)別為6的調(diào)試日志;若所述調(diào)試級(jí)別參數(shù)debug_pr1rity的值為空,則打印默認(rèn)級(jí)別的調(diào)試日志,如設(shè)置所述默認(rèn)級(jí)別為L(zhǎng)0G_ERR(3),則打印級(jí)別為3的調(diào)試曰志。
[0061]可以理解,當(dāng)所述調(diào)試日志被打印出來(lái)后,所述調(diào)用方和所述API服務(wù)進(jìn)程均可通過(guò)所述調(diào)試令牌查找對(duì)應(yīng)的調(diào)試日志,從而可以實(shí)現(xiàn)調(diào)用方和API服務(wù)進(jìn)程之間的動(dòng)態(tài)聯(lián)調(diào)。
[0062]請(qǐng)參閱圖2,本發(fā)明第二實(shí)施例提供一種API調(diào)試日志打印方法,所述方法至少包括如下步驟:
[0063]步驟S201:接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求,所述打印請(qǐng)求中包括調(diào)試令牌;
[0064]步驟S202:根據(jù)預(yù)設(shè)令牌值,判斷所述調(diào)試令牌是否有效;
[0065]步驟S203:若判斷結(jié)果為是,則查找并打印所述調(diào)試日志打印請(qǐng)求對(duì)應(yīng)的調(diào)試日
V1、1、O
[0066]其中,所述API通過(guò)API服務(wù)進(jìn)程向所述調(diào)用方提供函數(shù)調(diào)用服務(wù)。所述API包括若干預(yù)先定義的函數(shù),以供所述調(diào)用方根據(jù)編程需求讀取和調(diào)用相應(yīng)的函數(shù),并通過(guò)所述預(yù)先定義的函數(shù)來(lái)完成對(duì)應(yīng)的功能。所述API服務(wù)進(jìn)程在對(duì)所述調(diào)用方提供函數(shù)調(diào)用服務(wù)的時(shí)候,往往需要所述調(diào)用方傳入若干個(gè)(或一個(gè))參數(shù),通過(guò)給不同的參數(shù)傳入不同的值來(lái)獲取想要的數(shù)據(jù)。所述API服務(wù)進(jìn)程通過(guò)分析所述傳入?yún)?shù)并根據(jù)對(duì)應(yīng)的API處理邏輯獲取到調(diào)用方想要的數(shù)據(jù),然后將獲取到的所述數(shù)據(jù)傳輸給所述調(diào)用方。為實(shí)現(xiàn)函數(shù)的準(zhǔn)確調(diào)用,所述調(diào)用方需要準(zhǔn)確理解所述API處理邏輯,并根據(jù)所述API處理邏輯發(fā)出對(duì)應(yīng)的調(diào)用指令,以通過(guò)函數(shù)調(diào)用獲取所需要的數(shù)據(jù)。為更好地理解所述API處理邏輯,所述調(diào)用方可通過(guò)發(fā)出日志打印請(qǐng)求,打印相應(yīng)的API調(diào)試日志來(lái)協(xié)助理解所述API處理邏輯,進(jìn)而實(shí)現(xiàn)更精準(zhǔn)的API函數(shù)調(diào)用。
[0067]其中,所述接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求之前,還包括:
[0068]接收調(diào)試令牌預(yù)設(shè)指令,預(yù)設(shè)所述調(diào)試令牌的令牌值,并向所述調(diào)用方頒發(fā)所述調(diào)試令牌。
[0069]其中,所述調(diào)試令牌具有唯一的令牌值,用于表征所述調(diào)試令牌是否有效。所述令牌值通過(guò)配置文件進(jìn)行設(shè)置和存儲(chǔ),所述配置文件被存儲(chǔ)于共享內(nèi)存中,以供所述API服務(wù)進(jìn)程及所述調(diào)用方讀取或更改。
[0070]其中,所述向所述調(diào)用方頒發(fā)所述調(diào)試令牌,包括:
[0071]所述API服務(wù)進(jìn)程在接收到所述調(diào)用方的函數(shù)調(diào)用申請(qǐng)時(shí),向所述調(diào)用方頒發(fā)用于打印與所調(diào)用函數(shù)對(duì)應(yīng)的調(diào)試日志的調(diào)試令牌。所述調(diào)用方在向所述API服務(wù)進(jìn)程發(fā)送調(diào)試日志打印請(qǐng)求時(shí),須同時(shí)傳送所述調(diào)試日志對(duì)應(yīng)的調(diào)試令牌。所述API服務(wù)進(jìn)程在接收到所述調(diào)試日志打印請(qǐng)求時(shí),讀取所述打印請(qǐng)求對(duì)應(yīng)的調(diào)試令牌的令牌值,并與所述共享內(nèi)存中預(yù)設(shè)的令牌值進(jìn)行比較,當(dāng)所述調(diào)試令牌的令牌值與預(yù)設(shè)的令牌值相同時(shí),判斷所述調(diào)試令牌有效。
[0072]當(dāng)判斷所述調(diào)試令牌有效時(shí),所述API服務(wù)進(jìn)程根據(jù)所述調(diào)試日志打印請(qǐng)求,查找并打印對(duì)應(yīng)的調(diào)試日志。
[0073]請(qǐng)參閱圖3,本發(fā)明第三實(shí)施例提供一種API調(diào)試日志打印方法,所述方法至少包括如下步驟:
[0074]步驟S301:接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求,所述打印請(qǐng)求中包括調(diào)試令牌;
[0075]步驟S302:根據(jù)預(yù)設(shè)令牌值,判斷所述調(diào)試令牌的令牌值與所述預(yù)設(shè)令牌值是否相同;
[0076]步驟S303:若判斷結(jié)果為是,則根據(jù)預(yù)設(shè)生存周期,判斷所述調(diào)試令牌是否處于所述預(yù)設(shè)生存周期內(nèi);
[0077]步驟S304:若判斷結(jié)果為是,則根據(jù)預(yù)設(shè)日志打印配額,判斷所述調(diào)試令牌是否有效;
[0078]步驟S305:若判斷結(jié)果為是,則查找并打印所述調(diào)試日志打印請(qǐng)求對(duì)應(yīng)的調(diào)試日V1、1、O
[0079]其中,所述API通過(guò)API服務(wù)進(jìn)程向所述調(diào)用方提供函數(shù)調(diào)用服務(wù)。所述API包括若干預(yù)先定義的函數(shù),以供所述調(diào)用方根據(jù)編程需求讀取和調(diào)用相應(yīng)的函數(shù),并通過(guò)所述預(yù)先定義的函數(shù)來(lái)完成對(duì)應(yīng)的功能。所述API服務(wù)進(jìn)程在對(duì)所述調(diào)用方提供函數(shù)調(diào)用服務(wù)的時(shí)候,往往需要所述調(diào)用方傳入若干個(gè)(或一個(gè))參數(shù),通過(guò)給不同的參數(shù)傳入不同的值來(lái)獲取想要的數(shù)據(jù)。所述API服務(wù)進(jìn)程通過(guò)分析所述傳入?yún)?shù)并根據(jù)對(duì)應(yīng)的API處理邏輯獲取到調(diào)用方想要的數(shù)據(jù),然后將獲取到的所述數(shù)據(jù)傳輸給所述調(diào)用方。為實(shí)現(xiàn)函數(shù)的準(zhǔn)確調(diào)用,所述調(diào)用方需要準(zhǔn)確理解所述API處理邏輯,并根據(jù)所述API處理邏輯發(fā)出對(duì)應(yīng)的調(diào)用指令,以通過(guò)函數(shù)調(diào)用獲取所需要的數(shù)據(jù)。為更好地理解所述API處理邏輯,所述調(diào)用方可通過(guò)發(fā)出日志打印請(qǐng)求,打印相應(yīng)的API調(diào)試日志來(lái)協(xié)助理解所述API處理邏輯,進(jìn)而實(shí)現(xiàn)更精準(zhǔn)的API函數(shù)調(diào)用。
[0080]其中,所述接收調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求之前,還包括:
[0081]接收調(diào)試令牌預(yù)設(shè)指令,預(yù)設(shè)所述調(diào)試令牌對(duì)應(yīng)的令牌值、生存周期、日志打印配額及已用打印配額。
[0082]具體地,所述調(diào)試令牌的令牌值、生存周期、日志打印配額及已用打印配額等特征信息均通過(guò)配置文件進(jìn)行設(shè)置和存儲(chǔ)。所述配置文件被存儲(chǔ)于共享內(nèi)存中,以便于被所述API服務(wù)進(jìn)程及所述調(diào)用方讀取或更改。其中,每一所述調(diào)試令牌具有唯一的令牌值,用于表征所述調(diào)試令牌是否有效。所述生存周期是指所述調(diào)試令牌的有效期,其可以由用戶設(shè)置,在當(dāng)前時(shí)間超出所述生存周期后,所述調(diào)試令牌失效。所述調(diào)試令牌的日志打印配額是指分配給所述調(diào)試令牌的API調(diào)試日志的打印條數(shù)配額,其可以由用戶設(shè)置。所述已用打印配額是指所述日志打印配額中已被使用掉的打印條數(shù),當(dāng)所述已用打印配額達(dá)到所述日志打印配額后,所述調(diào)試令牌失效。所述調(diào)試令牌失效后,所述API服務(wù)進(jìn)程不再響應(yīng)所述調(diào)用方發(fā)送的調(diào)試日志打印請(qǐng)求。
[0083]其中,所述根據(jù)預(yù)設(shè)令牌值,判斷所述調(diào)試令牌的令牌值與所述預(yù)設(shè)令牌值是否相同,包括:
[0084]讀取所述調(diào)試令牌的令牌值,并將所述令牌值與所述調(diào)試令牌的預(yù)設(shè)令牌值比較,當(dāng)所述令牌值與所述預(yù)設(shè)令牌值相同時(shí),判斷所述調(diào)試令牌有效。
[0085]具體地,當(dāng)所述API服務(wù)進(jìn)程在接收到所述調(diào)用方的函數(shù)調(diào)用申請(qǐng)時(shí),向所述調(diào)用方頒發(fā)用于打印與所調(diào)用函數(shù)對(duì)應(yīng)的調(diào)試日志的調(diào)試令牌。所述調(diào)用方在向所述API服務(wù)進(jìn)程發(fā)送調(diào)試日志打印請(qǐng)求時(shí),須同時(shí)傳送所述調(diào)試日志對(duì)應(yīng)的調(diào)試令牌。所述API服務(wù)進(jìn)程在接收到所述調(diào)試日志打印請(qǐng)求時(shí),讀取所述打印請(qǐng)求對(duì)應(yīng)的調(diào)試令牌的令牌值,并與所述共享內(nèi)存中預(yù)設(shè)的令牌值進(jìn)行比較,當(dāng)所述調(diào)試令牌的令牌值與預(yù)設(shè)的令牌值相同時(shí),判斷所述調(diào)試令牌有效。
[0086]其中,所述則根據(jù)預(yù)設(shè)生存周期,判斷所述調(diào)試令牌是否處于所述預(yù)設(shè)生存周期內(nèi),包括:
[0087]根據(jù)所述令牌值讀取對(duì)應(yīng)的調(diào)試令牌的生存周期,并將當(dāng)前時(shí)間與所述生存周期進(jìn)行比較,若所述當(dāng)前時(shí)間未達(dá)到所述生存周期,則判斷所述調(diào)試令牌處于所述生存周期內(nèi)。
[0088]其中,所述根據(jù)預(yù)設(shè)日志打印配額,判斷所述調(diào)試令牌是否有效,包括:
[0089]根據(jù)所述令牌值讀取對(duì)應(yīng)的調(diào)試令牌的預(yù)設(shè)日志打印配額及已用打印配額,并將所述已用打印配額與所述預(yù)設(shè)日志打印配額進(jìn)行比較,若所述已用打印配額小于所述預(yù)設(shè)