日志記錄方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及智能終端技術領域,尤其涉及日志記錄方法及裝置。
【背景技術】
[0002]隨著智能終端技術的不斷發(fā)展,電視、手機、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)等終端設備逐步走向智能化,同時造就了其復雜的軟件和硬件系統(tǒng),一個細小的問題就會影響用戶的體驗。以電視為例,電視廠商在研發(fā)生產(chǎn)過程中,會對電視進行各種各樣的測試?,F(xiàn)有技術中,通常是通過電視的調試串口向電視下達操作指令以模擬人手操作,從而完成對電視的測試。例如,通過電視預設的調試串口對電視進行可行性測試,若電視在可行性測試過程中出現(xiàn)BUG (問題,缺陷),工程人員往往難以對出現(xiàn)的BUG進行分析和處理,因為電視唯一的調試串口已經(jīng)被占用,調試信息已經(jīng)無法從調試串口獲得;而且有些BUG是隨機的,有可能下一次就不會出現(xiàn),并且有可能這臺電視出現(xiàn)BUG,但是其它電視就不會出現(xiàn)同樣的BUG,導致現(xiàn)有技術中終端的BUG定位不準確的問題。
【發(fā)明內容】
[0003]本發(fā)明的主要目的在于提供一種日志記錄方法及裝置,旨在提高定位終端BUG的準確度。
[0004]為實現(xiàn)上述目的,本發(fā)明提供一種日志記錄方法,該日志記錄方法包括以下步驟:
[0005]在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件;
[0006]創(chuàng)建指令獲取線程,并基于所述指令獲取線程獲取所述終端接收到的操作指令信息;
[0007]調用終端的日志進程獲取終端執(zhí)行所述操作指令的調試信息;
[0008]將所述操作指令信息和所述調試信息記錄到所述日志文件中。
[0009]優(yōu)選地,所述在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件的步驟之前,所述日志記錄方法還包括:
[0010]在偵測到終端進入工廠模式時,觸發(fā)日志記錄指令。
[0011 ] 優(yōu)選地,所述將所述操作指令信息和所述調試信息記錄到所述日志文件中的步驟之后,所述日志記錄方法還包括:
[0012]在偵測到終端退出工廠模式時,終止所述指令獲取線程,并刪除所述日志文件。
[0013]優(yōu)選地,所述將所述操作指令信息和所述調試信息記錄到所述日志文件中的步驟之后,所述日志記錄方法還包括:
[0014]將所述日志文件發(fā)送至預設服務器。
[0015]優(yōu)選地,所述日志文件包括第一日志文件和第二日志文件,所述將所述操作指令信息和所述調試信息記錄到所述日志文件中包括:
[0016]將所述操作指令信息記錄到所述第一日志文件中,將所述調試信息記錄到所述第二日志文件中。
[0017]此外,為實現(xiàn)上述目的,本發(fā)明還提供一種日志記錄裝置,所述日志記錄裝置包括:
[0018]創(chuàng)建模塊,用于在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件;
[0019]第一獲取模塊,用于創(chuàng)建指令獲取線程,并基于所述指令獲取線程獲取所述終端接收到的操作指令信息;
[0020]第二獲取模塊,用于調用終端的日志進程獲取終端執(zhí)行所述操作指令的調試信息;
[0021 ] 記錄模塊,用于將所述操作指令信息和所述調試信息記錄到所述日志文件中。
[0022]優(yōu)選地,所述日志記錄裝置還包括觸發(fā)模塊,用于在偵測到終端進入工廠模式時,觸發(fā)日志記錄指令。
[0023]優(yōu)選地,所述日志記錄裝置還包括終止模塊,用于在偵測到終端退出工廠模式時,終止所述指令獲取線程,并刪除所述日志文件。
[0024]優(yōu)選地,所述日志記錄裝置還包括發(fā)送模塊,用于在記錄模塊完成日志文件的記錄后,將所述日志文件發(fā)送至預設服務器。
[0025]優(yōu)選地,所述日志文件包括第一日志文件和第二日志文件,所述記錄模塊還用于將所述操作指令信息記錄到所述第一日志文件中,將所述調試信息記錄到所述第二日志文件中。
[0026]本發(fā)明通過在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件;創(chuàng)建指令獲取線程,并基于所述指令獲取線程獲取所述終端接收到的操作指令信息;調用終端的日志進程獲取終端執(zhí)行所述操作指令的調試信息;將所述操作指令信息和所述調試信息記錄到所述日志文件中。相較于現(xiàn)有技術,本發(fā)明能夠提供終端的日志文件供工程人員分析,以提高定位終端BUG的準確度。
【附圖說明】
[0027]圖1為本發(fā)明日志記錄方法第一實施例的流程示意圖;
[0028]圖2為本發(fā)明日志記錄方法第二實施例的流程示意圖;
[0029]圖3為本發(fā)明日志記錄裝置第一實施例的功能模塊示意圖;
[0030]圖4為本發(fā)明日志記錄裝置第二實施例的功能模塊示意圖。
[0031]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0032]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0033]本發(fā)明提供一種日志記錄方法,參照圖1,在本發(fā)明日志記錄方法的第一實施例中,該日志記錄方法包括以下步驟:
[0034]S10,在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件;
[0035]本實施例中,日志記錄進程在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件。其中,所述日志記錄指令可由工程人員手動下達,也可由日志記錄進程根據(jù)終端的工作模式自動生成。其中,日志記錄進程可根據(jù)偵測到所述日志記錄指令的時間點對創(chuàng)建的日志文件進行命名,例如,日志記錄進程在08:OO偵測到所述日志記錄指令,日志記錄進程采用預設的算法基于前述時間點計算得到數(shù)值1000(所述時間點為對應的終端的系統(tǒng)時間,由于系統(tǒng)時間精確到毫秒,每次計算結果將不同),則日志記錄進程將創(chuàng)建的所述日志文件命名為 1000.logo
[0036]本領域技術人員可以理解是,日志記錄進程還可以直接將偵測到所述日志記錄指令的時間點作為所述日志文件的名稱。需要說明的是,本發(fā)明并不限制采取何種命名方法,只要能夠區(qū)分不同的日志文件,并表征對應的日志文件即可。
[0037]需要說明的是,本發(fā)明提及的終端均基于Android系統(tǒng)運行,例如,基于Android系統(tǒng)的智能電視。
[0038]S20,創(chuàng)建指令獲取線程,并基于所述指令獲取線程獲取所述終端接收到的操作指令信息;
[0039]本實施例中,日志記錄進程創(chuàng)建指令獲取線程,并基于所述指令獲取線程獲取所述終端接收到的操作指令信息。其中,所述操作指令信息包括所述終端接收到的操作指令以及對應所述操作指令的附加信息,所述附加信息包括終端接收到所述操作指令的時間點以及所述操作指令的類型等。
[0040]具體地,在Android系統(tǒng)的按鍵輸入流程(phonewindowmanager)和串口輸入流程(調試串口模塊)中添加消息發(fā)送代碼,按鍵輸入流程和串口輸入流程在接收到操作指令時,將其接收到的操作指令添加對應的附加信息(接收到操作指令的時間和操作指令的類型)作為操作指令信息發(fā)送至指令獲取線程。
[0041]S30,調用終端的日志進程獲取終端執(zhí)行所述操作指令的調試信息;
[0042]本實施例中,日志記錄進程通過Android系統(tǒng)提供的運行時接口(Runtime)調用Android系統(tǒng)自帶的日志進程,即1gcat進程。需要說明的是,1gcat是Android系統(tǒng)中一個命令行工具,為系統(tǒng)進程,可用于實時獲取終端執(zhí)行操作指令的調試信息。例如,通過執(zhí)行代碼Runtime.getRuntime ().exec (〃logcat〃)即可實現(xiàn)對1gcat進程的調用。
[0043]本領域技術人員可以理解的是,所述調試信息包括終端執(zhí)行其接收到所述操作指令進行的操作、執(zhí)行所述操作指令時各項運行參數(shù)以及執(zhí)行所述操作指令的結果等信息。
[0044]S40,將所述操作指令信息和所述調試信息記錄到所述日志文件中。
[0045]本實施例中,將所述操作指令信息和所述調試信息一一對應后,記錄到所述日志文件中。例如,將終端接收到的A操作指令信息與終端執(zhí)行A操作指令的調試信息對應后記錄到前述生成的名為1000.log的日志文件中;將終端接收到的B操作指令信息與終端執(zhí)行B操作指令的調試信息對應后記錄到前述生成的名為1000.log的日志文件中,以此類推。
[0046]本發(fā)明實施例提供的日志記錄方法,在偵測到基于終端的日志記錄指令時,創(chuàng)建日志文件;創(chuàng)建指