本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種生成日志的方法和裝置。
背景技術(shù):
電子設(shè)備執(zhí)行不同的業(yè)務(wù)時(shí),為了記錄下業(yè)務(wù)執(zhí)行情況,會(huì)生成一條或多條日志,進(jìn)而在業(yè)務(wù)出錯(cuò)時(shí)可以使得管理人員通過(guò)分析日志尋求解決方案。通常,業(yè)務(wù)中預(yù)設(shè)有該業(yè)務(wù)的日志函數(shù),那么電子設(shè)備執(zhí)行該業(yè)務(wù)時(shí),調(diào)用該業(yè)務(wù)的日志函數(shù)生成該業(yè)務(wù)的日志。
然而,多樣化的日志導(dǎo)致搜索和讀取日志效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種生成日志的方法和裝置,用于實(shí)現(xiàn)不同業(yè)務(wù)生成標(biāo)準(zhǔn)統(tǒng)一的日志。
第一方面,本發(fā)明提供了一種一種生成日志的方法,包括:
在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù);
調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù);
將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志。
可選的,在生成所述當(dāng)前業(yè)務(wù)的日志之后,所述方法還包括:
將所述當(dāng)前業(yè)務(wù)的日志存儲(chǔ)到第一存儲(chǔ)空間中,所述第一存儲(chǔ)空間用于緩存日志;
判斷所述第一存儲(chǔ)空間中存儲(chǔ)的日志是否滿足預(yù)設(shè)條件;
當(dāng)所述第一存儲(chǔ)空間中存儲(chǔ)的日志滿足所述預(yù)設(shè)條件時(shí),將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到第二存儲(chǔ)空間中,所述第二存儲(chǔ)空間用于保存日志。
可選的,所述標(biāo)準(zhǔn)日志函數(shù)包括預(yù)設(shè)關(guān)鍵詞提取規(guī)則,運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),包括:
按照所述預(yù)設(shè)關(guān)鍵詞提取出所述當(dāng)前業(yè)務(wù)的日志的關(guān)鍵詞。
可選的,所述標(biāo)準(zhǔn)日志函數(shù)還包括預(yù)設(shè)等級(jí)劃分規(guī)則,運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),還包括:
按照所述預(yù)設(shè)等級(jí)劃分規(guī)則對(duì)所述當(dāng)前業(yè)務(wù)的日志進(jìn)行等級(jí)劃分。
可選的,將所述第一存儲(chǔ)空間中存儲(chǔ)的日志第二存儲(chǔ)空間,包括:
按照日志的關(guān)鍵詞和/或等級(jí)將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到所述第二存儲(chǔ)空間中。
第二方面,本發(fā)明提供了一種生成日志的裝置,包括:
采集模塊,用于在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù);
調(diào)用模塊,用于調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù);
生成模塊,用于將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志。
可選的,所述裝置還包括:
第一存儲(chǔ)模塊,用于在生成所述當(dāng)前業(yè)務(wù)的日志之后,將所述當(dāng)前業(yè)務(wù)的日志存儲(chǔ)到第一存儲(chǔ)空間中,所述第一存儲(chǔ)空間用于緩存日志;
判斷模塊,用于判斷所述第一存儲(chǔ)空間中存儲(chǔ)的日志是否滿足預(yù)設(shè)條件;
第二存儲(chǔ)模塊,用于當(dāng)所述第一存儲(chǔ)空間中存儲(chǔ)的日志滿足所述預(yù)設(shè)條件時(shí),將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到第二存儲(chǔ)空間中,所述第二存儲(chǔ)空間用于保存日志。
可選的,所述標(biāo)準(zhǔn)日志函數(shù)包括預(yù)設(shè)關(guān)鍵詞提取規(guī)則,所述生成模塊用于按照所述預(yù)設(shè)關(guān)鍵詞提取出所述當(dāng)前業(yè)務(wù)的日志的關(guān)鍵詞。
可選的,所述標(biāo)準(zhǔn)日志函數(shù)還包括預(yù)設(shè)等級(jí)劃分規(guī)則,所述生成模塊用于按照所述預(yù)設(shè)等級(jí)劃分規(guī)則對(duì)所述當(dāng)前業(yè)務(wù)的日志進(jìn)行等級(jí)劃分。
可選的,所述第二存儲(chǔ)模塊用于按照日志的關(guān)鍵詞和/或等級(jí)將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到所述第二存儲(chǔ)空間中。
本申請(qǐng)實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下一種或多種技術(shù)效果:
在本發(fā)明實(shí)施例的技術(shù)方案中,在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù),然后調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù),接著將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志??梢?jiàn),通過(guò)統(tǒng)一的所述標(biāo)準(zhǔn)日志函數(shù)來(lái)生成所述日志,那么,即使運(yùn)行不同的業(yè)務(wù),也能夠獲得標(biāo)準(zhǔn)統(tǒng)一的日志,故而本發(fā)明實(shí)施例實(shí)現(xiàn)了日志標(biāo)準(zhǔn)化的技術(shù)效果。那么,相較于多樣化日志,搜索和讀取日志效率得到了提高。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中生成日志的方法流程圖;
圖2為本發(fā)明實(shí)施例中生成日志的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種生成日志的方法和裝置,用于實(shí)現(xiàn)不同業(yè)務(wù)生成標(biāo)準(zhǔn)統(tǒng)一的日志。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供的技術(shù)方案總體思路如下:
在本發(fā)明實(shí)施例的技術(shù)方案中,在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù),然后調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù),接著將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志??梢?jiàn),通過(guò)統(tǒng)一的所述標(biāo)準(zhǔn)日志函數(shù)來(lái)生成所述日志,那么,即使運(yùn)行不同的業(yè)務(wù),也能夠獲得標(biāo)準(zhǔn)統(tǒng)一的日志,故而本發(fā)明實(shí)施例實(shí)現(xiàn)了日志標(biāo)準(zhǔn)化的技術(shù)效果。那么,相較于多樣化日志,搜索和讀取日志效率得到了提高。
下面通過(guò)附圖以及具體實(shí)施例對(duì)本發(fā)明技術(shù)方案做詳細(xì)的說(shuō)明,應(yīng)當(dāng)理解本申請(qǐng)實(shí)施例以及實(shí)施例中的具體特征是對(duì)本申請(qǐng)技術(shù)方案的詳細(xì)的說(shuō)明,而不是對(duì)本申請(qǐng)技術(shù)方案的限定,在不沖突的情況下,本申請(qǐng)實(shí)施例以及實(shí)施例中的技術(shù)特征可以相互組合。
本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
本發(fā)明第一方面提供了一種生成日志的方法,請(qǐng)參考圖1,為生成日志的方法流程圖。該方法包括:
s101:在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù);
s102:調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù);
s103:將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志。
具體來(lái)講,本發(fā)明實(shí)施例生成日志的方法可以應(yīng)用于網(wǎng)絡(luò)側(cè)設(shè)備或者用戶設(shè)備等電子設(shè)備中,或者還可以同時(shí)應(yīng)用于網(wǎng)絡(luò)側(cè)設(shè)備和用戶設(shè)備等多個(gè)電子設(shè)備中,例如由用戶設(shè)備運(yùn)行業(yè)務(wù)并采集日志參數(shù),然后由網(wǎng)絡(luò)側(cè)設(shè)備利用從用戶設(shè)備接收的日志參數(shù)生成日志,本發(fā)明不做具體限制。當(dāng)然,上述一個(gè)或多個(gè)電子設(shè)備存儲(chǔ)且能夠加載操作系統(tǒng),操作系統(tǒng)中具有多個(gè)系統(tǒng)函數(shù)。操作系統(tǒng)包括但不限于蘋果智能操作系統(tǒng)ios系統(tǒng)、安卓系統(tǒng)和windows系統(tǒng)等,系統(tǒng)函數(shù)包括但不限于本發(fā)明實(shí)施例中的標(biāo)準(zhǔn)日志函數(shù)、生成窗口的oncreat函數(shù)和獲取屏幕當(dāng)前顯示方式的getscreenmode函數(shù)等,本發(fā)明不做具體限制。
本發(fā)明實(shí)施例中的業(yè)務(wù)可以為任意運(yùn)行在電子設(shè)備中的業(yè)務(wù),例如網(wǎng)絡(luò)直播業(yè)務(wù)、搜索業(yè)務(wù)、購(gòu)物業(yè)務(wù)和支付業(yè)務(wù)等,本發(fā)明不做具體限制。s101中,運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù)。在本發(fā)明實(shí)施例中,日志參數(shù)包括但不限于當(dāng)前業(yè)務(wù)的狀態(tài)、訪問(wèn)存儲(chǔ)空間的地址、執(zhí)行指令編碼和時(shí)間等,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行設(shè)置,本發(fā)明不做具體限制。
可選的,在一種實(shí)施方式中,業(yè)務(wù)本身的邏輯包括了該業(yè)務(wù)預(yù)設(shè)的日志函數(shù),則可以按照該業(yè)務(wù)的日志函數(shù)采集所需要的日志參數(shù)。其中,日志函數(shù)為一個(gè)業(yè)務(wù)所獨(dú)有的,不同業(yè)務(wù)的日志函數(shù)所需日志參數(shù)可能不同,并且最終生成的日志標(biāo)準(zhǔn)也可能不同。在另一種實(shí)施方式中,業(yè)務(wù)本身的邏輯不包括日志函數(shù),則可以按照電子設(shè)備系統(tǒng)函數(shù)中的標(biāo)準(zhǔn)日志函數(shù)采集所需要的日志參數(shù)。
當(dāng)需要生成日志函數(shù)時(shí),在s102中,調(diào)用標(biāo)準(zhǔn)日志函數(shù)。具體來(lái)講,本發(fā)明實(shí)施例中的標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù),換言之,該標(biāo)準(zhǔn)日志函數(shù)是系統(tǒng)函數(shù)中的一個(gè)函數(shù),而不是業(yè)務(wù)的多個(gè)函數(shù)中的一個(gè)函數(shù)。標(biāo)準(zhǔn)日志函數(shù)用于生成日志,標(biāo)準(zhǔn)日志函數(shù)的輸入是日志參數(shù),輸出則是根據(jù)日志參數(shù)生成的日志。
進(jìn)一步,對(duì)于調(diào)用標(biāo)準(zhǔn)日志函數(shù)的時(shí)間,在其中一種實(shí)施方式中,每隔預(yù)設(shè)周期調(diào)用一次標(biāo)準(zhǔn)日志函數(shù),也即,在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,每隔預(yù)設(shè)周期就生成一條日志。在另一種實(shí)施方式中,執(zhí)行到當(dāng)前業(yè)務(wù)中生成日志的邏輯時(shí)調(diào)用標(biāo)準(zhǔn)日志函數(shù),也即,在當(dāng)前業(yè)務(wù)需要生成日志時(shí)才生成一條日志。在另一種實(shí)施方式中,當(dāng)前業(yè)務(wù)執(zhí)行預(yù)設(shè)數(shù)量的指令后調(diào)用一次標(biāo)準(zhǔn)日志函數(shù),預(yù)設(shè)數(shù)量例如為10或20等。也即,當(dāng)前業(yè)務(wù)每執(zhí)行預(yù)設(shè)數(shù)量的指令后生成一條日志。在具體實(shí)現(xiàn)過(guò)程中,調(diào)用標(biāo)準(zhǔn)日志函數(shù)的時(shí)間不限于上述實(shí)施方式,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行選擇,本發(fā)明不做具體限制。
調(diào)用標(biāo)準(zhǔn)日志函數(shù)后,在s103中,將采集到的日志參數(shù)輸入標(biāo)準(zhǔn)日志函數(shù)中運(yùn)行標(biāo)準(zhǔn)日志函數(shù),進(jìn)而得到標(biāo)準(zhǔn)日志函數(shù)輸出的當(dāng)前業(yè)務(wù)的日志。
由上述描述可以看出,在本發(fā)明實(shí)施例中,由于標(biāo)準(zhǔn)日志函數(shù)生成日志的方式和標(biāo)準(zhǔn)不會(huì)因?yàn)椴煌瑯I(yè)務(wù)改變,因此不同的業(yè)務(wù)調(diào)用標(biāo)準(zhǔn)統(tǒng)一的標(biāo)準(zhǔn)日志函數(shù)來(lái)生成日志,就使得不同業(yè)務(wù)均生成標(biāo)準(zhǔn)一致的日志。進(jìn)而,在搜索和讀取日志時(shí),由于各個(gè)業(yè)務(wù)的日志標(biāo)準(zhǔn)統(tǒng)一,故而搜索和讀取的效率更加方便,效率更高。
在具體實(shí)現(xiàn)過(guò)程中,如果當(dāng)前因?yàn)榘ㄗ约旱娜罩竞瘮?shù),為了避免當(dāng)前業(yè)務(wù)運(yùn)行該日志函數(shù)生成個(gè)性化的日志,進(jìn)而干擾標(biāo)識(shí)日志的生成,可以在該業(yè)務(wù)的日志函數(shù)入口處設(shè)置鉤子hook函數(shù)來(lái)攔截指令、日志參數(shù)等,由此使得日志函數(shù)無(wú)法運(yùn)行而生成日志。
進(jìn)一步,結(jié)合上述實(shí)施例中,作為一種可選的實(shí)施例,在s103之后還包括:
將所述當(dāng)前業(yè)務(wù)的日志存儲(chǔ)到第一存儲(chǔ)空間中,所述第一存儲(chǔ)空間用于緩存日志;
判斷所述第一存儲(chǔ)空間中存儲(chǔ)的日志是否滿足預(yù)設(shè)條件;
當(dāng)所述第一存儲(chǔ)空間中存儲(chǔ)的日志滿足所述預(yù)設(shè)條件時(shí),將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到第二存儲(chǔ)空間中,所述第二存儲(chǔ)空間用于保存日志。
具體來(lái)講,對(duì)于標(biāo)準(zhǔn)日志函數(shù)生成的日志,并不會(huì)立刻存儲(chǔ)到日志最終的存儲(chǔ)空間,即第二存儲(chǔ)空間,而是先將日志存儲(chǔ)到第一存儲(chǔ)空間。在本發(fā)明實(shí)施例中,第一存儲(chǔ)空間用于緩存標(biāo)準(zhǔn)日志函數(shù)生成的日志。其中,第一存儲(chǔ)空間可以具體為內(nèi)存中的存儲(chǔ)空間,或者也可以為硬盤中的空間,本發(fā)明不做具體限制。第二存儲(chǔ)空間則是長(zhǎng)期存儲(chǔ)日志的空間,例如硬盤中的空間。
第一存儲(chǔ)空間中可能僅存儲(chǔ)當(dāng)前業(yè)務(wù)的日志,還可能同時(shí)存儲(chǔ)歷史業(yè)務(wù)的日志,本發(fā)明不做具體限制。對(duì)第一存儲(chǔ)空間中存儲(chǔ)的日志進(jìn)行監(jiān)控,判斷第一存儲(chǔ)空間中存儲(chǔ)日志是否滿足預(yù)設(shè)條件。并且,在第一存儲(chǔ)空間中的日志滿足預(yù)設(shè)條件時(shí),將第一存儲(chǔ)空間中的日志存儲(chǔ)到第二存儲(chǔ)空間中。
在一種實(shí)施方式中,判斷第一存儲(chǔ)空間中的日志是否滿足預(yù)設(shè)條件具體為判斷第一存儲(chǔ)空間中的日志的數(shù)據(jù)量是否達(dá)到預(yù)設(shè)數(shù)據(jù)量,預(yù)設(shè)數(shù)據(jù)量例如為10m、3m或500k等,本發(fā)明不做具體限制。當(dāng)?shù)谝淮鎯?chǔ)空間中的日志的數(shù)據(jù)量達(dá)到預(yù)設(shè)數(shù)據(jù)量時(shí),表示第一存儲(chǔ)空間中的日志滿足預(yù)設(shè)條件,反之,當(dāng)?shù)谝淮鎯?chǔ)空間中的日志的數(shù)據(jù)量未達(dá)到預(yù)設(shè)數(shù)據(jù)量時(shí),表示第一存儲(chǔ)空間中的日志不滿足預(yù)設(shè)條件。在另一種實(shí)施方式中,判斷第一存儲(chǔ)空間中的日志是否滿足預(yù)設(shè)條件具體為判斷從存儲(chǔ)第一條日志至今的時(shí)間間隔是否達(dá)到預(yù)設(shè)時(shí)間間隔,預(yù)設(shè)時(shí)間間隔例如為3s或10s等。當(dāng)時(shí)間間隔達(dá)到預(yù)設(shè)時(shí)間間隔時(shí),表示第一存儲(chǔ)空間中的日志滿足預(yù)設(shè)條件,反之,當(dāng)時(shí)間間隔未達(dá)到預(yù)設(shè)時(shí)間間隔時(shí),表示第一存儲(chǔ)空間中的日志不滿足預(yù)設(shè)條件。在另一種實(shí)施方式中,判斷第一存儲(chǔ)空間中的日志是否滿足預(yù)設(shè)條件還可以具體為判斷第一存儲(chǔ)空間中的日志對(duì)應(yīng)的業(yè)務(wù)是否運(yùn)行結(jié)束。當(dāng)?shù)谝淮鎯?chǔ)空間中的日志對(duì)應(yīng)的業(yè)務(wù)運(yùn)行結(jié)束后,表示第一存儲(chǔ)空間中的日志滿足預(yù)設(shè)條件,反之,當(dāng)?shù)谝淮鎯?chǔ)空間中的日志對(duì)應(yīng)的業(yè)務(wù)未運(yùn)行結(jié)束時(shí),表示第一存儲(chǔ)空間中的日志不滿足預(yù)設(shè)條件。
在具體實(shí)現(xiàn)過(guò)程中,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際選擇上述實(shí)施方式中的任一種或者其他實(shí)施方式,本發(fā)明不做具體限制。
由上述描述可知,先將當(dāng)前業(yè)務(wù)的日志存儲(chǔ)到第一存儲(chǔ)空間中,在第一存儲(chǔ)空間存儲(chǔ)的日志滿足預(yù)設(shè)條件時(shí)再將第一存儲(chǔ)空間的日志存儲(chǔ)到第二存儲(chǔ)空間中,由此降低了對(duì)第二存儲(chǔ)空間執(zhí)行寫操作而引起的設(shè)備資源的消耗。
進(jìn)一步,結(jié)合上述實(shí)施例,作為一種可選的實(shí)施例,標(biāo)準(zhǔn)日志函數(shù)包括預(yù)設(shè)關(guān)鍵詞提取規(guī)則,s103中運(yùn)行標(biāo)準(zhǔn)日志函數(shù),包括:
按照所述預(yù)設(shè)關(guān)鍵詞提取出所述當(dāng)前業(yè)務(wù)的日志的關(guān)鍵詞。
具體來(lái)講,在具體實(shí)現(xiàn)過(guò)程中,本領(lǐng)域技術(shù)人員可以將預(yù)設(shè)關(guān)鍵詞提取規(guī)則編制到標(biāo)準(zhǔn)日志函數(shù)中,使預(yù)設(shè)關(guān)鍵詞提取規(guī)則成為標(biāo)準(zhǔn)日志函數(shù)的一部分邏輯。那么,在s103運(yùn)行標(biāo)準(zhǔn)日志函數(shù)的過(guò)程中,不僅會(huì)基于日志參數(shù)生成日志,還會(huì)按照預(yù)設(shè)關(guān)鍵詞提取規(guī)則進(jìn)行關(guān)鍵詞提取。
具體來(lái)講,本發(fā)明實(shí)施例中的關(guān)鍵詞包括但不限于業(yè)務(wù)名稱、異常類型、錯(cuò)誤代碼和異常運(yùn)行的函數(shù)名稱等。進(jìn)而,預(yù)設(shè)關(guān)鍵詞提取規(guī)則也包括多種。在一種實(shí)施方式中,日志參數(shù)至少包括業(yè)務(wù)名稱或代碼,預(yù)設(shè)關(guān)鍵詞提取規(guī)則具體為提取日志參數(shù)中包括的業(yè)務(wù)名稱。在另一種實(shí)施方式中,日志參數(shù)至少包括訪問(wèn)路徑,預(yù)設(shè)關(guān)鍵詞提取規(guī)則具體為提取日志參數(shù)中訪問(wèn)路徑。在另一種實(shí)施方式中,標(biāo)準(zhǔn)日志函數(shù)根據(jù)日志參數(shù)判斷當(dāng)前業(yè)務(wù)是否出現(xiàn)異?;蝈e(cuò)誤,如果出現(xiàn)異常和錯(cuò)誤,將異常和錯(cuò)誤的代碼記錄到日志中。在該種實(shí)施方式中,預(yù)設(shè)關(guān)鍵詞提取規(guī)則具體為提取日志中包含的異?;蝈e(cuò)誤代碼。在另一種實(shí)施方式中,標(biāo)準(zhǔn)日志函數(shù)根據(jù)日志參數(shù)判斷當(dāng)前業(yè)務(wù)是否具有非法操作,例如釣魚或訪問(wèn)隱私空間等,如果具有非法操作,則將非法操作的描述信息記錄到日志中。在該種實(shí)施方式中,預(yù)設(shè)關(guān)鍵詞提取規(guī)則具體為提取日志中包含非法操作描述信息。
在具體實(shí)現(xiàn)過(guò)程中,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際選擇上述實(shí)施方式中的任一種或者其他實(shí)施方式,本發(fā)明不做具體限制。
進(jìn)一步,在具體實(shí)現(xiàn)過(guò)程中,提取出的關(guān)鍵詞可以記錄在日志內(nèi)容中,也可以作為日志文件名或者日志文件名的部分,或者還可以創(chuàng)建用于記錄各條日志關(guān)鍵詞的列表中等,本發(fā)明不做具體限制。
由上述描述可以看出,按照預(yù)設(shè)規(guī)則提取日志關(guān)鍵詞,那么在搜索日志時(shí)通過(guò)關(guān)鍵詞可以更加快速地搜索到相關(guān)日志,在讀取日志時(shí)則可以根據(jù)關(guān)鍵詞更加快速地了解日志內(nèi)容,所以,進(jìn)一步提高了搜索和讀取日志的效率。
進(jìn)一步,結(jié)合上述實(shí)施例,作為一種可選的實(shí)施例,標(biāo)準(zhǔn)日志函數(shù)還包括預(yù)設(shè)等級(jí)劃分規(guī)則,s103中運(yùn)行標(biāo)準(zhǔn)日志函數(shù),包括:
按照所述預(yù)設(shè)等級(jí)劃分規(guī)則對(duì)所述當(dāng)前業(yè)務(wù)的日志進(jìn)行等級(jí)劃分。
具體來(lái)講,在具體實(shí)現(xiàn)過(guò)程中,本領(lǐng)域技術(shù)人員可以將預(yù)設(shè)等級(jí)劃分規(guī)則編制到標(biāo)準(zhǔn)日志函數(shù)中,使預(yù)設(shè)等級(jí)劃分規(guī)則成為標(biāo)準(zhǔn)日志函數(shù)的一部分邏輯。那么,在s103運(yùn)行標(biāo)準(zhǔn)日志函數(shù)的過(guò)程中,不僅會(huì)基于日志參數(shù)生成日志,按照預(yù)設(shè)關(guān)鍵詞提取規(guī)則進(jìn)行關(guān)鍵詞提取,還會(huì)按照預(yù)設(shè)等級(jí)劃分出日志等級(jí)。
具體來(lái)講,本發(fā)明實(shí)施例中的等級(jí)包括但不限于正常等級(jí)和異常等級(jí),表示不同錯(cuò)誤級(jí)別的等級(jí)以及表示業(yè)務(wù)優(yōu)先級(jí)的等級(jí),本發(fā)明不做具體限制。
為了說(shuō)明如何根據(jù)預(yù)設(shè)等級(jí)劃分規(guī)則對(duì)當(dāng)前業(yè)務(wù)的日志進(jìn)行等級(jí)劃分,下面以等級(jí)具體為正常等級(jí)和異常等級(jí),表示不同錯(cuò)誤級(jí)別的等級(jí)以及表示業(yè)務(wù)優(yōu)先級(jí)的等級(jí)為例來(lái)進(jìn)行說(shuō)明。
(1)預(yù)設(shè)等級(jí)具體為正常等級(jí)和異常等級(jí)。正常等級(jí)表示業(yè)務(wù)正常結(jié)束,異常等級(jí)表示業(yè)務(wù)異常結(jié)束。在一種實(shí)施方式中,按照預(yù)設(shè)等級(jí)劃分規(guī)則進(jìn)行劃分,具體為判斷日志中的結(jié)束類型是否為正常類型。如果結(jié)束類型為正常類型,則將該日志劃分為正常等級(jí),反之,如果結(jié)束類型不為正常類型,則將該日志劃分為異常類型。在另一種實(shí)施方式中,日志的關(guān)鍵詞中包括結(jié)束類型,那么不需要對(duì)日志進(jìn)行分析,直接判斷關(guān)鍵詞中的結(jié)束類型是否為正常類型即可。
(2)預(yù)設(shè)等級(jí)為表示不同錯(cuò)誤級(jí)別的等級(jí)。為了方便說(shuō)明,假設(shè)系統(tǒng)錯(cuò)誤為緊急、警告、錯(cuò)誤、消息和debug,對(duì)應(yīng)的錯(cuò)誤級(jí)別一次為1、2、3、4和5。在一種實(shí)施方式中,日志參數(shù)中包括錯(cuò)誤類型,按照預(yù)設(shè)等級(jí)劃分規(guī)則進(jìn)行劃分,具體為根據(jù)日志參數(shù)包括的錯(cuò)誤類型,將該錯(cuò)誤類型對(duì)應(yīng)的等級(jí)作為該日志的等級(jí)。舉例來(lái)說(shuō),假設(shè)日志參數(shù)中包括的錯(cuò)誤類型為緊急,由于緊急對(duì)應(yīng)的等級(jí)為1,所以確定由該日志參數(shù)生成的日志的錯(cuò)誤等級(jí)為1。在另一種實(shí)施方式中,也可以對(duì)日志的內(nèi)容進(jìn)行人工或自動(dòng)全面分析,由此劃分錯(cuò)誤等級(jí)4。
(3)預(yù)設(shè)等級(jí)為不同業(yè)務(wù)的優(yōu)先級(jí)。為了方便說(shuō)明,假設(shè)業(yè)務(wù)的優(yōu)先級(jí)由高到低依次包括購(gòu)買虛擬禮物的業(yè)務(wù)、充值業(yè)務(wù)、購(gòu)買免費(fèi)禮物的業(yè)務(wù)、關(guān)注業(yè)務(wù)和觀看網(wǎng)絡(luò)直播的業(yè)務(wù),對(duì)應(yīng)的預(yù)設(shè)等級(jí)則依次為1、2、3、4和5。在一種實(shí)施方式中,日志參數(shù)中包括業(yè)務(wù)的類型,按照預(yù)設(shè)等級(jí)劃分規(guī)則進(jìn)行劃分,具體為根據(jù)日志參數(shù)包括的業(yè)務(wù)類型,將該業(yè)務(wù)類型對(duì)應(yīng)的等級(jí)作為該日志的等級(jí)。舉例來(lái)說(shuō),假設(shè)日志參數(shù)中包括的業(yè)務(wù)類型為充值,由于充值業(yè)務(wù)對(duì)應(yīng)的等級(jí)為2,所以確定由該日志參數(shù)生成的日志的等級(jí)為2。在另一種實(shí)施方式中,日志的關(guān)鍵詞中包括業(yè)務(wù)類型,那么直接按照關(guān)鍵詞中的業(yè)務(wù)類型對(duì)該日志的等級(jí)進(jìn)行劃分即可。舉例來(lái)說(shuō),假設(shè)一條日志的關(guān)鍵詞包括“關(guān)注”,由于關(guān)注業(yè)務(wù)對(duì)應(yīng)的等級(jí)為4,所以確定該條日志的等級(jí)為4。
在具體實(shí)現(xiàn)過(guò)程中,按照預(yù)設(shè)等級(jí)劃分規(guī)則劃分日志的等級(jí)還包括其他實(shí)施方式,這里就不一一贅述了,本發(fā)明所屬領(lǐng)域的普通技術(shù)人員可以根據(jù)實(shí)際進(jìn)行設(shè)置,本發(fā)明不做具體限制。
由上述描述可知,按照預(yù)設(shè)等級(jí)劃分規(guī)則劃分日志等級(jí),使管理人員可以針對(duì)性地搜索和讀取日志。例如預(yù)設(shè)等級(jí)為正常等級(jí)和異常等級(jí),為了提高業(yè)務(wù)可靠性,則針對(duì)性地讀取等級(jí)為異常等級(jí)的日志即可。所以,進(jìn)一步提高了搜索和讀取日志的效率。
進(jìn)一步,結(jié)合上述實(shí)施例,作為一種可選的實(shí)施例,將第一存儲(chǔ)空間中存儲(chǔ)的日志第二存儲(chǔ)空間,包括:
按照日志的關(guān)鍵詞和/或等級(jí)將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到所述第二存儲(chǔ)空間中。
具體來(lái)講,在將第一存儲(chǔ)空間中的日志存儲(chǔ)到第二存儲(chǔ)空間時(shí),可以按照隨機(jī)順序存儲(chǔ),或者按照生成日志的時(shí)間順序存儲(chǔ)等。在其中一種實(shí)施方式中,按照日志的關(guān)鍵詞,將關(guān)鍵詞相同或相似的日志存儲(chǔ)在第二存儲(chǔ)空間中邏輯地址連續(xù)或物理地址連續(xù)的存儲(chǔ)空間。或者,在另一種實(shí)施方中,將日志等級(jí)相同的日志存儲(chǔ)在第二存儲(chǔ)空間中邏輯地址連續(xù)或物理地址連續(xù)的存儲(chǔ)空間?;蛘?,在另一種實(shí)施方式中,將日志關(guān)鍵詞相同或相似,并且等級(jí)相同的日志存儲(chǔ)在第二存儲(chǔ)空間中邏輯地址連續(xù)或物理地址連續(xù)的存儲(chǔ)空間。
由上述描述可知,按照日志的關(guān)鍵詞和/或等級(jí)存儲(chǔ)日志,不僅可以進(jìn)一步提高搜索和讀取日志的效率,還便于管理日志,例如要?jiǎng)h除某一等級(jí)的日志時(shí),不需要一一查找該業(yè)務(wù)的日志,根據(jù)連續(xù)地址刪除即可。
基于與前述實(shí)施例中生成日志的方法同樣的發(fā)明構(gòu)思,本發(fā)明第二方面還提供一種生成日志的裝置,如圖2所示,包括:
采集模塊101,用于在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù);
調(diào)用模塊102,用于調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù);
生成模塊103,用于將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志。
進(jìn)一步,所述裝置還包括:
第一存儲(chǔ)模塊,用于在生成所述當(dāng)前業(yè)務(wù)的日志之后,將所述當(dāng)前業(yè)務(wù)的日志存儲(chǔ)到第一存儲(chǔ)空間中,所述第一存儲(chǔ)空間用于緩存日志;
判斷模塊,用于判斷所述第一存儲(chǔ)空間中存儲(chǔ)的日志是否滿足預(yù)設(shè)條件;
第二存儲(chǔ)模塊,用于當(dāng)所述第一存儲(chǔ)空間中存儲(chǔ)的日志滿足所述預(yù)設(shè)條件時(shí),將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到第二存儲(chǔ)空間中,所述第二存儲(chǔ)空間用于保存日志。
更進(jìn)一步,所述標(biāo)準(zhǔn)日志函數(shù)包括預(yù)設(shè)關(guān)鍵詞提取規(guī)則,所述生成模塊用于按照所述預(yù)設(shè)關(guān)鍵詞提取出所述當(dāng)前業(yè)務(wù)的日志的關(guān)鍵詞。
更進(jìn)一步,所述標(biāo)準(zhǔn)日志函數(shù)還包括預(yù)設(shè)等級(jí)劃分規(guī)則,所述生成模塊用于按照所述預(yù)設(shè)等級(jí)劃分規(guī)則對(duì)所述當(dāng)前業(yè)務(wù)的日志進(jìn)行等級(jí)劃分。
更進(jìn)一步,所述第二存儲(chǔ)模塊用于按照日志的關(guān)鍵詞和/或等級(jí)將所述第一存儲(chǔ)空間中存儲(chǔ)的日志存儲(chǔ)到所述第二存儲(chǔ)空間中。
前述圖1實(shí)施例中的生成日志的方法的各種變化方式和具體實(shí)例同樣適用于本實(shí)施例的生成日志的裝置,通過(guò)前述對(duì)生成日志的方法的詳細(xì)描述,本領(lǐng)域技術(shù)人員可以清楚的知道本實(shí)施例中生成日志的裝置的實(shí)施方法,所以為了說(shuō)明書的簡(jiǎn)潔,在此不再詳述。
本申請(qǐng)實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下一種或多種技術(shù)效果:
在本發(fā)明實(shí)施例的技術(shù)方案中,在運(yùn)行當(dāng)前業(yè)務(wù)的過(guò)程中,采集用于生成當(dāng)前業(yè)務(wù)的日志的日志參數(shù),然后調(diào)用標(biāo)準(zhǔn)日志函數(shù),所述標(biāo)準(zhǔn)日志函數(shù)為系統(tǒng)函數(shù),接著將所述日志參數(shù)傳入所述標(biāo)準(zhǔn)日志函數(shù),并運(yùn)行所述標(biāo)準(zhǔn)日志函數(shù),以生成所述當(dāng)前業(yè)務(wù)的日志??梢?jiàn),通過(guò)統(tǒng)一的所述標(biāo)準(zhǔn)日志函數(shù)來(lái)生成所述日志,那么,即使運(yùn)行不同的業(yè)務(wù),也能夠獲得標(biāo)準(zhǔn)統(tǒng)一的日志,故而本發(fā)明實(shí)施例實(shí)現(xiàn)了日志標(biāo)準(zhǔn)化的技術(shù)效果。那么,相較于多樣化日志,搜索和讀取日志效率得到了提高。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。