應(yīng)用程序的日志收集方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種應(yīng)用程序的日志收集方法和系統(tǒng)。所述方法包括:當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉所述應(yīng)用程序發(fā)生異常時產(chǎn)生的異常信號;根據(jù)所述捕捉的異常信號生成異常日志。上述應(yīng)用程序的日志收集方法和系統(tǒng),檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝的日志捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉,以提供分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者對異常進行修復(fù),從而提高了應(yīng)用程序的穩(wěn)定性。
【專利說明】應(yīng)用程序的日志收集方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息收集領(lǐng)域,特別是涉及一種應(yīng)用程序的日志收集方法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計算機與電子信息技術(shù)的發(fā)展,智能電子產(chǎn)品越來越流行,例如智能手機,受 到人們的熱捧。智能手機所采用的系統(tǒng)主要有Android (安卓)系統(tǒng)或0S系統(tǒng)等。其中,安 卓系統(tǒng)是一種基于Linux的自由及開放源代碼的操作系統(tǒng)。因Android系統(tǒng)廠商多樣化, 使得Android系統(tǒng)也多樣化,專業(yè)的測試并不能覆蓋所有的機型和平臺。
[0003] 當(dāng)應(yīng)用程序的開發(fā)者發(fā)布一個應(yīng)用程序后,在Android系統(tǒng)上運行,可能會出現(xiàn) 各種各樣的問題,如程序代碼存在缺陷、硬件對應(yīng)用程序的不兼容等,這些情況可能會導(dǎo)致 應(yīng)用程序異常崩潰,無法運行,但因應(yīng)用程序多種多樣,無法捕捉到應(yīng)用程序的異常情況, 得到相應(yīng)的異常崩潰日志。
【發(fā)明內(nèi)容】
[0004] 基于此,有必要針對現(xiàn)有技術(shù)中無法獲取應(yīng)用程序出現(xiàn)異常情況的日志的問題, 提供一種應(yīng)用程序的日志收集方法,能有效收集應(yīng)用程序的日志,以提供分析應(yīng)用程序出 現(xiàn)異常的信息。
[0005] -種應(yīng)用程序的日志收集方法,包括:
[0006] 當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉所述應(yīng)用程序發(fā)生 異常時產(chǎn)生的異常信號;
[0007] 根據(jù)所述捕捉的異常信號生成異常日志。
[0008] 在其中一個實施例中,所述日志捕捉器為未捕獲應(yīng)用程序異常的異常處理器。
[0009] 在其中一個實施例中,所述方法還包括:
[0010] 將所述異常日志發(fā)送給服務(wù)器,并保存在所述服務(wù)器上。
[0011] 在其中一個實施例中,所述方法還包括:
[0012] 在操作系統(tǒng)代碼中加入異常處理類,得到日志捕捉器。
[0013] 在其中一個實施例中,所述異常日志中記載了操作系統(tǒng)版本、終端型號、異常日志 產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本、發(fā)生異常時終端的狀態(tài)中一種或兩種以上。
[0014] 一種應(yīng)用程序的日志收集系統(tǒng),包括:
[0015] 捕捉模塊,用于當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉所 述應(yīng)用程序發(fā)生異常時產(chǎn)生的異常信號;
[0016] 生成模塊,用于根據(jù)所述捕捉的異常信號生成異常日志。
[0017] 在其中一個實施例中,所述日志捕捉器為未捕獲應(yīng)用程序異常的異常處理器。
[0018] 在其中一個實施例中,所述系統(tǒng)還包括:
[0019] 發(fā)送模塊,用于將所述異常日志發(fā)送給服務(wù)器,并保存在所述服務(wù)器上。
[0020] 在其中一個實施例中,所述系統(tǒng)還包括:
[0021] 構(gòu)建模塊,用于在操作系統(tǒng)代碼中加入異常處理類,得到所述日志捕捉器。
[0022] 在其中一個實施例中,所述異常日志中記載了操作系統(tǒng)版本、終端型號、異常日志 產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本、發(fā)生異常時終端的狀態(tài)中一種或兩種以上。
[0023] 上述應(yīng)用程序的日志收集方法和系統(tǒng),檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝 的日志捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉, 以提供分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者對異常進行修復(fù),從而提高了應(yīng)用程序 的穩(wěn)定性。
【專利附圖】
【附圖說明】
[0024] 圖1為一個實施例中應(yīng)用程序的日志收集方法的流程圖;
[0025] 圖2為另一個實施例中應(yīng)用程序的日志收集方法的流程圖;
[0026] 圖3為一個實施例中應(yīng)用程序的日志收集系統(tǒng)的結(jié)構(gòu)框圖;
[0027] 圖4為另一個實施例中應(yīng)用程序的日志收集系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0028] 下面結(jié)合具體的實施例及附圖對應(yīng)用程序的日志收集方法和系統(tǒng)的技術(shù)方案進 行詳細的描述,以使其更加清楚。
[0029] 如圖1所示,為一個實施例中的應(yīng)用程序的日志收集方法的流程圖。該應(yīng)用程序 的日志收集方法可應(yīng)用于智能手機、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4 (Moving Picture Experts Group Audio Layer IV,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、膝 上型便攜計算機和臺式計算機等上。該應(yīng)用程序的日志收集方法,包括:
[0030] 步驟S102,當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉該應(yīng)用 程序發(fā)生異常時產(chǎn)生的異常信號。
[0031] 以手機上安裝日志捕捉器為例,在手機上運行應(yīng)用程序。當(dāng)應(yīng)用程序運行過程中 出現(xiàn)卡死或強制關(guān)閉等異常情況時,該日志捕捉器會及時捕捉該應(yīng)用程序發(fā)生異常時產(chǎn)生 的異常信號。該異常信號中攜帶有發(fā)生異常的信息。該信息包括異常產(chǎn)生的時間、手機型 號、操作系統(tǒng)的版本信息、手機電量狀態(tài)、手機屏幕顯示狀態(tài)等。其中,異常產(chǎn)生的時間, 如2013年4月2日10時30分50秒,也可僅記錄到某天某時等,不作限制。手機型號可 為ABC,該操作系統(tǒng)可為Android系統(tǒng),其版本信息可為Android2. 3. 5或Android2. 3. 6或 Android4.0等等。手機電量狀態(tài)可采用百分比描述或以滿格為100,其他狀態(tài)(即用了一部 分電能后的狀態(tài))采用〇至99數(shù)字表示的方式描述,或采用方格形式表示,如滿格為五格 等。手機屏幕顯示狀態(tài)如橫屏或堅屏狀態(tài)。
[0032] 日志捕捉器為未捕獲應(yīng)用程序異常的異常處理器。在檢測應(yīng)用程序發(fā)生異常之 前,還包括步驟:在操作系統(tǒng)代碼中加入異常處理類,得到日志捕捉器。
[0033] 具體的,在操作系統(tǒng)代碼中加入異常處理類,如Crash Hander,它是繼承于類 Thread. Uncaught Exception Hander (線程未捕獲的異常處理器)。當(dāng)應(yīng)用程序發(fā)生異常 崩潰時,通過該異常處理器可攔截到未捕獲的異常信號。通過在代碼中加入異常處理類得 到日志捕捉器,實現(xiàn)簡單方便,且不需單獨啟動。
[0034] 此外,也可通過獲取Android系統(tǒng)的root權(quán)限,訪問Android的系統(tǒng)日志,通過得 到系統(tǒng)日志得到異常日志。
[0035] 步驟S104,根據(jù)該捕捉的異常信號生成異常日志。
[0036] 具體的,根據(jù)捕捉的異常信號,獲取異常信號中的信息生成詳細的異常日志。異常 日志是指應(yīng)用程序出現(xiàn)故障情況產(chǎn)生的信息記錄。該異常日志中記載了操作系統(tǒng)版本信 息、終端型號、異常日志產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本信息、發(fā)生異常時終端的狀 態(tài)中一種或兩種以上。應(yīng)用程序的版本信息,如A0001版、A0002版等。
[0037] 上述應(yīng)用程序的日志收集方法,檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝的日志 捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉,以提供 分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者對異常進行修復(fù),從而提高了應(yīng)用程序的穩(wěn)定 性。
[0038] 如圖2所示,為另一個實施例中應(yīng)用程序的日志收集方法的流程圖。與圖1的區(qū) 別在于將異常日志發(fā)送給服務(wù)器進行保存,方便后續(xù)查看。該應(yīng)用程序的日志收集方法,包 括:
[0039] 步驟S202,當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉該應(yīng)用 程序發(fā)生異常時產(chǎn)生的異常信號。
[0040] 該異常信號中攜帶有發(fā)生異常的信息。該信息包括異常產(chǎn)生的時間、終端型號、操 作系統(tǒng)的版本信息、終端電量狀態(tài)、終端屏幕顯示狀態(tài)等。該終端為智能手機、平板電腦、電 子書閱讀器、MP3播放器、MP4播放器、膝上型便攜計算機和臺式計算機等。
[0041] 步驟S204,根據(jù)該捕捉的異常信號生成異常日志。
[0042] 該異常日志中記載了操作系統(tǒng)版本信息、終端型號、異常日志產(chǎn)生日期、發(fā)生異常 的應(yīng)用程序的版本信息、發(fā)生異常時終端的狀態(tài)中一種或兩種以上。應(yīng)用程序的版本信息, 如A0001版、A0002版等。
[0043] 步驟S206,將該異常日志發(fā)送給服務(wù)器,并保存在該服務(wù)器上。
[0044] 具體的,將異常日志打包后發(fā)送給服務(wù)器,并保存。該服務(wù)器可為專門接收異常日 志的日志服務(wù)器,也可為包含應(yīng)用程序的服務(wù)器,或者為單獨提供保存信息服務(wù)的服務(wù)器。 [0045] 上述應(yīng)用程序的日志收集方法,檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝的日志 捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉,并將異 常日志發(fā)送給服務(wù)器進行保存,以提供分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者查看,并 根據(jù)該異常日志分析以對異常情況進行修復(fù),從而提高了應(yīng)用程序的穩(wěn)定性。
[0046] 如圖3所示,為一個實施例中應(yīng)用程序的日志收集系統(tǒng)的結(jié)構(gòu)框圖。該應(yīng)用程序 的日志收集系統(tǒng),包括捕捉模塊320和生成模塊340。其中:
[0047] 捕捉模塊320,用于當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉 所述應(yīng)用程序發(fā)生異常時產(chǎn)生的異常信號。
[0048] 以手機上安裝日志捕捉器為例,在手機上運行應(yīng)用程序。當(dāng)應(yīng)用程序運行過程中 出現(xiàn)卡死或強制關(guān)閉等異常情況時,該日志捕捉器會及時捕捉該應(yīng)用程序發(fā)生異常時產(chǎn)生 的異常信號。該異常信號中攜帶有發(fā)生異常的信息。該信息包括異常產(chǎn)生的時間、手機型 號、操作系統(tǒng)的版本信息、手機電量狀態(tài)、手機屏幕顯示狀態(tài)等。其中,異常產(chǎn)生的時間, 如2013年4月2日10時30分50秒,也可僅記錄到某天某時等,不作限制。手機型號可 為ABC,該操作系統(tǒng)可為Android系統(tǒng),其版本信息可為Android2. 3. 5或Android2. 3. 6或 Android4.0等等。手機電量狀態(tài)可采用百分比描述或以滿格為100,其他狀態(tài)(即用了一部 分電能后的狀態(tài))采用〇至99數(shù)字表示的方式描述,或采用方格形式表示,如滿格為五格 等。手機屏幕顯示狀態(tài)如橫屏或堅屏狀態(tài)。
[0049]日志捕捉器為未捕獲應(yīng)用程序異常的異常處理器。
[0050] 生成模塊340,用于根據(jù)該捕捉的異常信號生成異常日志。
[0051] 具體的,根據(jù)捕捉的異常信號,獲取異常信號中的信息生成詳細的異常日志。異常 日志是指應(yīng)用程序出現(xiàn)故障情況產(chǎn)生的信息記錄。該異常日志中記載了操作系統(tǒng)版本信 息、終端型號、異常日志產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本信息、發(fā)生異常時終端的狀 態(tài)中一種或兩種以上。應(yīng)用程序的版本信息,如A0001版、A0002版等。
[0052] 上述應(yīng)用程序的日志收集系統(tǒng),檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝的日志 捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉,以提供 分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者對異常進行修復(fù),從而提高了應(yīng)用程序的穩(wěn)定 性。
[0053] 如圖4所示,為另一個實施例中應(yīng)用程序的日志收集系統(tǒng)的結(jié)構(gòu)框圖。該應(yīng)用程 序的日志收集系統(tǒng)除了包括捕捉模塊320和生成模塊340,還包括構(gòu)建模塊310和發(fā)送模塊 360。其中:
[0054] 構(gòu)建模塊310用于在操作系統(tǒng)代碼中加入異常處理類,得到該日志捕捉器。
[0055] 具體的,在操作系統(tǒng)代碼中加入異常處理類,如CrashHander,它是繼承于類 Thread.UncaughtExceptionHander (線程未捕獲的異常處理器)。當(dāng)應(yīng)用程序發(fā)生異常崩 潰時,通過該異常處理器可攔截到未捕獲的異常信號。通過在代碼中加入異常處理類得到 日志捕捉器,實現(xiàn)簡單方便,且不需單獨啟動。
[0056] 發(fā)送模塊360,用于將該異常日志發(fā)送給服務(wù)器,并保存在該服務(wù)器上。
[0057] 具體的,將異常日志打包后發(fā)送給服務(wù)器,并保存。該服務(wù)器可為專門接收異常日 志的日志服務(wù)器,也可為包含應(yīng)用程序的服務(wù)器,或者為單獨提供保存信息服務(wù)的服務(wù)器。
[0058] 上述應(yīng)用程序的日志收集系統(tǒng),檢測到應(yīng)用程序發(fā)生異常時,通過預(yù)安裝的日志 捕捉器捕捉異常信號,根據(jù)異常信號生成了異常日志,實現(xiàn)了異常日志的有效捕捉,并將異 常日志發(fā)送給服務(wù)器進行保存,以提供分析應(yīng)用程序出現(xiàn)異常的信息,方便開發(fā)者查看,并 根據(jù)該異常日志分析以對異常情況進行修復(fù),從而提高了應(yīng)用程序的穩(wěn)定性。
[0059] 上述應(yīng)用程序的日志收集系統(tǒng)應(yīng)用于智能手機、平板電腦、電子書閱讀器、MP3播 放器、MP4播放器、膝上型便攜計算機和臺式計算機等終端上,僅以上述各功能模塊的劃分 進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將 終端的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。
[0060] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì) 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
[0061] 以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并 不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保 護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1. 一種應(yīng)用程序的日志收集方法,包括: 當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉所述應(yīng)用程序發(fā)生異常 時產(chǎn)生的異常信號; 根據(jù)所述捕捉的異常信號生成異常日志。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述日志捕捉器為未捕獲應(yīng)用程序異常 的異常處理器。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 將所述異常日志發(fā)送給服務(wù)器,并保存在所述服務(wù)器上。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在操作系統(tǒng)代碼中加入異常處理類,得到日志捕捉器。
5. 根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述異常日志中記載了操作 系統(tǒng)版本、終端型號、異常日志產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本、發(fā)生異常時終端的 狀態(tài)中一種或兩種以上。
6. -種應(yīng)用程序的日志收集系統(tǒng),其特征在于,包括: 捕捉模塊,用于當(dāng)檢測到應(yīng)用程序發(fā)生異常,通過預(yù)先安裝的日志捕捉器捕捉所述應(yīng) 用程序發(fā)生異常時產(chǎn)生的異常信號; 生成模塊,用于根據(jù)所述捕捉的異常信號生成異常日志。
7. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述日志捕捉器為未捕獲應(yīng)用程序異常 的異常處理器。
8. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 發(fā)送模塊,用于將所述異常日志發(fā)送給服務(wù)器,并保存在所述服務(wù)器上。
9. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 構(gòu)建模塊,用于在操作系統(tǒng)代碼中加入異常處理類,得到所述日志捕捉器。
10. 根據(jù)權(quán)利要求6至9中任一項所述的系統(tǒng),其特征在于,所述異常日志中記載了操 作系統(tǒng)版本、終端型號、異常日志產(chǎn)生日期、發(fā)生異常的應(yīng)用程序的版本、發(fā)生異常時終端 的狀態(tài)中一種或兩種以上。
【文檔編號】G06F11/30GK104216811SQ201310210068
【公開日】2014年12月17日 申請日期:2013年5月30日 優(yōu)先權(quán)日:2013年5月30日
【發(fā)明者】阮宜德 申請人:騰訊科技(深圳)有限公司