日志分離方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種日志分離方法及裝置,該日志分離方法,包括:獲取混合的日志信息;獲取日志分類規(guī)則;根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息。本發(fā)明實施例的日志分離方法及裝置,獲取混合的日志信息,獲取日志分類規(guī)則,根據(jù)分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信息,從而區(qū)分用戶日志信息與開發(fā)日志信息。
【專利說明】日志分離方法及裝置
【技術領域】
[0001]本發(fā)明涉及計算機領域,尤其涉及一種日志分離方法及裝置。
【背景技術】
[0002]在計算機系統(tǒng)中日志是錯誤診斷和狀態(tài)追蹤的依據(jù),計算機系統(tǒng)中,存在大量的日志輸出相關的代碼。在實際開發(fā)中,常注入大量日志輸出代碼,但是輸出日志信息將各種日志信息混合在一起,不便于用戶查看。
[0003]因此,如何區(qū)分用戶日志信息與開發(fā)日志信息,是當前需要解決的技術問題。
【發(fā)明內容】
[0004]本發(fā)明實施例提供一種日志分離方法及裝置,能夠分離出用戶日志信息和開發(fā)日 肩、。
[0005]本發(fā)明實施例采用如下技術方案:
[0006]一種日志分離方法,包括:
[0007]獲取混合的日志信息;
[0008]獲取日志分類規(guī)則;
[0009]根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信
肩、O
[0010]可選的,所述根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息之后,還包括:
[0011]根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息;
[0012]根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
[0013]可選的,所述日志分類規(guī)則包括:按標簽分類和/或按關鍵字分類。
[0014]可選的,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信肩、O
[0015]可選的,所述用戶日志信息包括:登錄信息和/或可讀的錯誤信息;
[0016]所述開發(fā)日志信息包括用于調試和記錄應用程序運行狀態(tài)的日志信息。
[0017]可選的,所述按關鍵字分類包括:
[0018]根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息;
[0019]根據(jù)預設的第二關鍵字,從所述混合的日志信息中提取所述開發(fā)信息。
[0020]一種日志分離裝置,包括:
[0021]第一獲取單元,用于獲取混合的日志信息;
[0022]第二獲取單元,用于獲取日志分類規(guī)則;[0023]提取單元,用于根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息。
[0024]可選的,還包括:
[0025]第一過濾單元,用于根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息;
[0026]第二過濾單元,用于根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
[0027]可選的,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信肩、O
[0028]可選的,所述日志分類規(guī)則包括按關鍵字分類,所述按關鍵字分類包括:
[0029]所述提取單元具體用于根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息;根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信
肩、O
[0030]基于上述方案,本發(fā)明實施例的日志分離方法及裝置,獲取混合的日志信息,獲取日志分類規(guī)則,根據(jù)分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信息,從而區(qū)分用戶日志信息與開發(fā)日志信息。
【專利附圖】
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1為本發(fā)明實施例1提供的一種日志分離方法的流程圖;
[0033]圖2為本發(fā)明實施例2提供的另一種日志分離方法的流程圖;
[0034]圖3為本發(fā)明實施例3提供的一種日志分離裝置的結構示意圖;
[0035]圖4為本發(fā)明實施例4提供的另一種日志分離裝置的結構示意圖。
【具體實施方式】
[0036]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0037]實施例1
[0038]如圖1所示,本實施例提供一種日志分離方法,包括:
[0039]11、獲取混合的日志信息;
[0040]12、獲取日志分類規(guī)則;
[0041]13、根據(jù)所述分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信
肩、O[0042]可選的,所述根據(jù)所述分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信息之后,還包括:
[0043]根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息;根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
[0044]其中,第一預設規(guī)則、第二預設規(guī)則可以預先設置,例如設置用戶日志信息的黑名單、白名單,保留符合白名單的用戶日志信息,濾除符合黑名單的用戶日志信息;設置開發(fā)信息的黑名單、白名單,保留符合白名單的開發(fā)信息,濾除符合黑名單的開發(fā)信息。
[0045]可選的,所述日志分類規(guī)則包括:按標簽分類、或按關鍵字分類、或按標簽分類和按關鍵字分類。
[0046]可選的,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信肩、O
[0047]可選的,所述用戶日志信息包括:登錄信息和/或可讀的錯誤信息;
[0048]所述開發(fā)日志信息包括用于調試和記錄應用程序運行狀態(tài)的日志信息。
[0049]可選的,所述按關鍵字分類包括:
[0050]根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息;根據(jù)預設的第二關鍵字,從所述混合的日志信息中提取所述開發(fā)信息。
[0051]本實施例的方法,獲取混合的日志信息,獲取日志分類規(guī)則,根據(jù)分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信息,從而區(qū)分用戶日志信息與開發(fā)日志信肩、O
[0052]實施例2
[0053]如圖2所示,本實施例提供一種日志分離方法,包括:
[0054]21、按照應用的日志信息,設定分類規(guī)則;
[0055]22、根據(jù)分類規(guī)則,將從混合的日志信息中分別提取用戶日志和開發(fā)日志;
[0056]23、針對用戶日志和開發(fā)日志分別使用白黑名單規(guī)則進一步完善和過濾。
[0057]其中,所述步驟21中分類規(guī)則是指:根據(jù)用戶要求,設定用戶日志和開發(fā)日志的分類規(guī)則,具體包括標簽分類和關鍵字分類。
[0058]其中,所述步驟22中的混合日志信息包括:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、其它自定義日志信息的混合,所述混合日志信息可以存儲在不同文件中。
[0059]其中,所述步驟22中的用戶日志信息具體是指用戶希望關心的日志信息,如登錄信息、可讀的錯誤信息。
[0060]其中,所述步驟22中的開發(fā)日志信息具體是指程序員用于調試和記錄應用程序運行狀態(tài)的日志信息。
[0061]其中,所述步驟23中的白黑名單具體包括:用戶和開發(fā)人員自定義的特殊日志信息,用戶日志的黑名單中標記的是需要濾除的用戶日志,白名單中標記的是需要增加到用戶日志中的混合日志信息。而開發(fā)日志的黑名單中標記的是需要濾除的用戶日志,白名單中標記的是需要增加到開發(fā)日志中的混合日志信息。[0062]其中,所述標簽分類包括:開發(fā)人員定義的標簽,開發(fā)人員根據(jù)日志內容在每一條日志的指定位置(如頭部)增加了標簽信息。應用程序的在日志輸出時,可能根據(jù)標簽選擇輸出到不同的文件,并且標簽不顯示在日志中。
[0063]其中,所述關鍵字分類包括:如果日志中包含用戶特定的一個或多個關鍵字,將決定該日志信息的是否歸屬到用戶日志中。同樣,如果日志中包含開發(fā)人員特定的一個或多個關鍵字,將決定該日志信息的是否歸屬到開發(fā)日志中。 [0064]下面以Linux系統(tǒng)日志為例進行說明,在Linux中,系統(tǒng)輸出了大量日志信息,包括設備狀態(tài)日志、異常訪問日志、登錄日志、內核錯誤日志、內核信息、內核調試、內核警告等,該部分日志組成了本發(fā)明中提到的混合日志。
[0065]而在具體的一個日志中,還存在各種日志的混合,以內核警告的日志舉例,內核開發(fā)人員使用printk(KERN_ALERT……)可以輸出內核的警告日志,將被輸出至/var/log/message文件中。不同的內核模塊開發(fā)人員使用KERN_ALERT參數(shù)輸出的開發(fā)日志均混合在一起,不便于直接查看,同時,系統(tǒng)還會為其增加一些相關日志并輸出至其它日志文件中。
[0066]本發(fā)明例首先,用戶和開發(fā)人員可以定義和修改默認的分類規(guī)則,從混合日志中分離出開發(fā)日志和用戶日志。以一個新的模塊A使用printk(KERN_ALERT……)輸出警告日志和錯誤信息,其中包含的主要日志信息如下:
[0067]“Kernel2.6.35-test start successfully!”
[0068]“Start to install a module with name=%s!”
[0069]“Module A installed successfully!”
[0070]“Module A open%s file failed, error=%d.”
[0071]“Module A open%s file successfully.”
[0072]“Module A unknown error (%d) occurred.”
[0073]“Module A status%d received.\n!,,
[0074]“Module A finished its initialize job.\n!”
[0075]“Module A removed successfully!”
[0076]......[0077]則發(fā)明實施例中,規(guī)則維護模塊210維護分類規(guī)則,其中用戶日志分類規(guī)則為:
[0078]所含日志信息必須包含“Module A”,并且不帶輸出參數(shù)。
[0079]而開發(fā)日志的分類規(guī)則為:
[0080]所有日志信息必須包含“Module A”。
[0081]規(guī)則維護模塊220在上述分類規(guī)則的基礎上,初步分離出的用戶日志主要為:
[0082]“Module A installed successfully!”
[0083]“Module A finished its initialize job.\n!,,
[0084]“Module A removed successfully!”
[0085]......[0086]初步分尚出的開發(fā)日志主要為:
[0087]“Module A installed successfully!”
[0088]“Module A open%s file failed, error=%d.”
[0089]“Module A open%s file successfully.”[0090]“Module A unknown error (%d) occurred.”
[0091]“Module A status%d received.\n! ”
[0092]“Module A finished its initialize job.\n!,,
[0093]“Module A removed successfully!”
[0094]......[0095]在上述基礎上,白黑名單優(yōu)化模塊230則主要負責對初步分離的日志進行優(yōu)化。假定用戶日志的黑名單中包含:
[0096]“Module A finished its initialize job.\n!,,
[0097]用戶日志的白名單中包含:
[0098]“Module A open%s file successfully.”
[0099]開發(fā)日志的黑名單中包含:
[0100]“Module A installed successfully!”
[0101]“Module A removed successfully!”
[0102]開發(fā)日志的白名單中包含:
[0103]“Start to install a module with name=%s!”
[0104]則經(jīng)過白黑名單優(yōu)化模塊230優(yōu)化后的用戶日志為:`[0105]“Module A installed successfully!”
[0106]“Module A open%s file successfully.”
[0107]“Module A removed successfully!”
[0108]......[0109]優(yōu)化后的開發(fā)日志為:
[0110]“Start to install a module with name=%s!”
[0111]“Module A open%s file failed, error=%d.”
[0112]“Module A open%s file successfully.”
[0113]“Module A unknown error (%d) occurred.”
[0114]“Module A status%d received.\n!,,
[0115]“Module A finished its initialize job.\n!”
[0116]......[0117]上述實施例中的%s、%dS printk中的格式符,在具體的實施例中表現(xiàn)為具體的文件名字或整型參數(shù)。
[0118]本實施例的方法,根據(jù)設定的規(guī)則,從混合日志中自動分離用戶日志和開發(fā)日志,并進一步根據(jù)百合名單對分離的日志進行優(yōu)化,提高用戶查看的日志的可讀性,提高開發(fā)人員查看日志的效率,提高錯誤診斷效率。
[0119]實施例3
[0120]如圖3所示,本實施例提供一種日志分離裝置,包括:
[0121]第一獲取單元31,用于獲取混合的日志信息;
[0122]第二獲取單元32,用于獲取日志分類規(guī)則;
[0123]提取單元33,用于根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息。[0124]可選的,如圖4所示,還包括:
[0125]第一過濾單元34,用于根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息;
[0126]第二過濾單元35,用于根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
[0127]可選的,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信肩、O
[0128]可選的,所述日志分類規(guī)則包括按關鍵字分類,所述按關鍵字分類包括:
[0129]所述提取單元具體用于根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息;根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信
肩、O
[0130]本發(fā)明實施例的節(jié)點可以實現(xiàn)上述對應的方法實施例,詳細實現(xiàn)過程,請參閱上述方法實施例,此處不贅述。
[0131]本實施例的裝置,獲取混合的日志信息,獲取日志分類規(guī)則,根據(jù)分類規(guī)則從混合的日志信息中提取出用戶日志信息和開發(fā)日志信息,從而區(qū)分用戶日志信息與開發(fā)日志信肩、O
[0132]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關【技術領域】的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
[0133]本領域普通技術人員將會理解,本發(fā)明的各個方面、或各個方面的可能實現(xiàn)方式可以被具體實施為系統(tǒng)、方法或者計算機程序產(chǎn)品。因此,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用完全硬件實施例、完全軟件實施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系統(tǒng)”。此夕卜,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用計算機程序產(chǎn)品的形式,計算機程序產(chǎn)品是指存儲在計算機可讀介質中的計算機可讀程序代碼。
[0134]顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
【權利要求】
1.一種日志分離方法,其特征在于,包括: 獲取混合的日志信息; 獲取日志分類規(guī)則; 根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息。
2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息之后,還包括: 根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息; 根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
3.根據(jù)權利要求1所述的方法,其特征在于,所述日志分類規(guī)則包括:按標簽分類和/或按關鍵字分類。
4.根據(jù)權利要求1所述的方法,其特征在于,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信息。
5.根據(jù)權利要求1所述的方法,其特征在于,所述用戶日志信息包括:登錄信息和/或可讀的錯誤信息; 所述開發(fā)日志信息包括用于調試和記錄應用程序運行狀態(tài)的日志信息。
6.根據(jù)權利要求3所述的方法,其特征在于,所述按關鍵字分類包括: 根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息; 根據(jù)預設的第二關鍵字,從所述混合的日志信息中提取所述開發(fā)信息。
7.—種日志分離裝置,其特征在于,包括: 第一獲取單兀,用于獲取混合的日志信息; 第二獲取單元,用于獲取日志分類規(guī)則; 提取單元,用于根據(jù)所述分類規(guī)則從所述混合的日志信息中提取出用戶日志信息和開發(fā)日志信息。
8.根據(jù)權利要求7所述的裝置,其特征在于,還包括: 第一過濾單元,用于根據(jù)第一預設過濾規(guī)則對所述用戶日志信息進行過濾,保留符合所述第一預設過濾規(guī)則的用戶日志信息; 第二過濾單元,用于根據(jù)第二預設過濾規(guī)則對所述開發(fā)日志信息進行過濾,保留符合所述第二預設過濾規(guī)則的開發(fā)日志信息。
9.根據(jù)權利要求7所述的裝置,其特征在于,所述混合的日志信息包括以下至少一種:應用輸出的調試信息、錯誤信息、審計信息、安全信息、登錄日志信息、操作日志信息、根據(jù)用戶指令確定的自定義日志信息。
10.根據(jù)權利要求7所述的裝置,其特征在于,所述日志分類規(guī)則包括按關鍵字分類,所述按關鍵字分類包括: 所述提取單元具體用于根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息;根據(jù)預設的第一關鍵字,從所述混合的日志信息中提取所述用戶日志信息。
【文檔編號】G06F17/30GK103744890SQ201310718417
【公開日】2014年4月23日 申請日期:2013年12月23日 優(yōu)先權日:2013年12月23日
【發(fā)明者】胡事民, 劉虎球 申請人:清華大學