一種基于linux內核的日志記錄方法及系統的制作方法
【技術領域】
[0001]本發明涉及計算機日志技術領域,特別是涉及一種基于Iinux內核的日志記錄方法及系統。
【背景技術】
[0002]當今,人們通常通過計算機或者移動終端的系統日志來檢查錯誤發生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。其中,系統日志可以記錄系統中硬件、軟件和系統問題的信息,同時還可以監視系統中發生的事件。系統日志按嚴重等級情況可以劃分為error、warning及debug等級別,因此,如何將日志信息記錄記錄至日志文件,以便更好地分析和解決程序運行中或者過去發生過的問題是本領域技術人員研究的重點。
[0003]現有技術中,Syslog(系統日志)機制作為一項Internet標準,能夠為各種系統用戶提供日志記錄功能,操作系統程序使用這種機制將各種信息寫到系統日志文件中。任何程序都可以通過syslog機制記錄運行時發生的事件。syslog機制除了可以將系統事件寫到文件或設備中外,還可以向用戶發送提示信息。
[0004]在各種版本的Iinux系統中,都有進行系統日志配置的文件和守護進程,但其生成的日志文件中的日志信息對于不同程序沒有區分,只是按照系統內部特定的級別進行syslog系統調用,這樣會導致一個日志文件中包含不同程序的日志信息,進而使得當需要對其中一個程序進行日志信息分析時,很難從上述日志文件中不同種類的程序的日志信息中找出需要的日志信息,增加了分析人員的工作量,降低了工作效率。
【發明內容】
[0005]有鑒于此,本發明提供了一種基于Iinux內核的日志文件生成方法及系統,以達到方便分析人員從日志文件中找出需要分析的程序的日志文件,減少工作量,提高工作效率的目的。
[0006]為解決上述技術問題,本發明提供一種基于Iinux內核的日志記錄方法,其特征在于,將生成的不同程序的日志信息存入消息隊列中,所述日志信息攜帶與其對應的程序的程序標識,該方法包括:
[0007]獲取輸入的日志控制命令;其中,所述日志控制命令攜帶程序標識;
[0008]從所述消息隊列中篩選出與所述日志控制命令中的程序標識對應的日志信息;
[0009]將篩選出的日志信息記錄至與所述日志控制命令中的程序標識對應的日志文件中。
[0010]上述方法中,優選的,在從所述消息隊列中篩選出與所述日志控制命令中的程序標識對應的日志信息之后,還包括:
[0011 ] 將篩選出的日志信息更新至日志列表。
[0012]上述方法中,優選的,在將篩選出的日志信息更新至日志列表之后,還包括:
[0013]顯示更新后的日志列表,以便操作人員及時查看日志列表變化情況。
[0014]上述方法中,優選的,所述日志控制命令攜帶程序標識和日志級別,從所述消息隊列中篩選出與所述日志控制命令中的程序標識和日志級別均對應的日志信息。
[0015]本發明還提供了一種基于Iinux內核的日志記錄系統,該系統包括:
[0016]消息隊列管理單元,用于將生成的不同程序的日志信息存入消息隊列中,所述日志信息攜帶與其對應的程序的程序標識,
[0017]日志控制命令獲取單元,用于獲取輸入的日志控制命令;其中,所述日志控制命令攜帶程序標識;
[0018]篩選單元,用于從所述消息隊列中篩選出與所述日志控制命令中的程序標識對應的日志信息;
[0019]記錄單元,用于將篩選出的日志信息記錄至與所述日志控制命令中的程序標識對應的日志文件中。
[0020]上述系統中,優選的,還包括:
[0021]更新單元,用于在從所述消息隊列中篩選出與所述日志控制命令中的程序標識對應的日志信息之后,將篩選出的日志信息更新至日志列表。
[0022]上述系統中,優選的,還包括:
[0023]顯示單元,用于在將篩選出的日志信息更新至日志列表之后,顯示更新后的日志列表,以便操作人員及時查看日志列表變化情況。
[0024]上述系統中,優選的,所述日志控制命令攜帶程序標識和日志級別,所述篩選單元包括:
[0025]篩選子單元,用于從所述消息隊列中篩選出與所述日志控制命令中的程序標識和日志級別均對應的日志信息。
[0026]以上本發明提供的一種基于Iinux內核的日志記錄方法及系統中,首先,將對應不同程序的日志信息存入消息隊列中,其中,每個日志信息攜帶與之對應的程序的程序標識;然后,獲取操作人員在鍵盤上輸入的日志控制命令,其中,日志控制命令攜帶程序標識,表示操作人員想得到這個程序標識對應程序的日志信息;其次,從上述消息隊列中篩選出與操作人員輸入的日志控制命令中的程序標識對應的日志信息;最后,將篩選出的日志信息記錄至與日志控制命令中的程序標識對應的日志文件中。基于上述技術方案,由于是將不同程序的日志信息記錄至各自的日志文件中,當操作人員需要對其中一個程序進行日志信息分析時,他可以直接得到這個程序對應的日志文件,顯然,有效地達到方便分析人員從日志文件中找出需要分析的程序的日志文件,減少工作量,提高工作效率的目的。
【附圖說明】
[0027]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0028]圖1為本發明一種基于Iinux內核的日志記錄方法實施例1的流程圖;
[0029]圖2為本發明一種基于Iinux內核的日志記錄系統實施例1的結構框圖示意圖。
【具體實施方式】
[0030]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0031]本發明的核心是提供一種基于Iinux內核的日志文件生成方法及系統,以達到方便分析人員從日志文件中找出需要分析的程序的日志文件,減少工作量,提高工作效率的目的。
[0032]為了使本技術領域的人員更好地理解本發明方案,下面結合附圖和【具體實施方式】對本發明作進一步的詳細說明。
[0033]參考圖1,示出了本發明一種基于Iinux內核的日志記錄方法實施例1的流程圖,首先,將生成的不同程序的日志信息存入消息隊列中,日志信息攜帶與其對應的程序的程序標識,基于此,該方法具體可以包括如下步驟:
[0034]步驟S100、獲取輸入的日志控制命令;其中,日志控制命令攜帶程序標識;
[0035]具體地,每個程序具有唯一與之對應的程序標識,當操作人員想要對一個程序的日志信息進行分析時,他可以通過鍵盤輸入攜帶這個程序的程序標識的日志控制命令。
[0036]本發明中,上述日志控制命令中包含的是程序標識,為了篩選出滿足這個程序標識(也就是與這個程序標識相對應的)日志信息,并記錄至指定的日志文件;當然,實際上,日志控制命令中可以包含任意