本發(fā)明涉及日志記錄技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用服務(wù)器sql日志記錄方法及其裝置。
背景技術(shù):
隨著應(yīng)用服務(wù)器行業(yè)的快速發(fā)展,使用者對(duì)應(yīng)用服務(wù)器的功能需求與日劇增,當(dāng)應(yīng)用服務(wù)器執(zhí)行sql語句時(shí),應(yīng)用服務(wù)器會(huì)記錄下執(zhí)行的sql語句、執(zhí)行時(shí)間、執(zhí)行線程等信息,并將匯總的信息在應(yīng)用服務(wù)器的管理界面進(jìn)行顯示。當(dāng)系統(tǒng)出現(xiàn)執(zhí)行慢等情況時(shí),系統(tǒng)維護(hù)人員能夠通過查看sql語句的信息定位出執(zhí)行慢的sql語句,及時(shí)解決問題。
目前的sql日志記錄功能主要是通過開源的log4j及slf4g的方式進(jìn)行記錄,但是記錄的日志文件過于龐大,不僅不方便觀看分析,并且容易對(duì)系統(tǒng)造成較大的壓力。
因此,如何提供一種方便觀看且減小系統(tǒng)壓力的應(yīng)用服務(wù)器sql日志記錄方法及其裝置是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種應(yīng)用服務(wù)器sql日志記錄方法及其裝置,能夠避免由于日志文件中的信息過多帶來的不變,方便用戶進(jìn)行查看,同時(shí)減小系統(tǒng)的壓力。
為解決上述技術(shù)問題,本發(fā)明提供了一種應(yīng)用服務(wù)器sql日志記錄方法,包括:
記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息;
將所述sql信息存儲(chǔ)于指定的log文件中;
判斷所述log文件是否超出預(yù)設(shè)大小閾值,若是,將所述log文件中超出所述預(yù)設(shè)大小閾值的部分分割為新的log文件進(jìn)行存儲(chǔ)。
優(yōu)選地,所述將所述sql信息存儲(chǔ)于指定的log文件中之前還包括:
按照預(yù)設(shè)過濾規(guī)則過濾記錄的所述sql信息中的無關(guān)信息,并將記錄的各條所述sql信息的進(jìn)行統(tǒng)一格式調(diào)整。
優(yōu)選地,還包括:
接收用戶輸入的查詢指令,調(diào)用日志查詢界面進(jìn)行顯示;
接收用戶在所述日志查詢界面內(nèi)輸入的查詢條件信息;
從預(yù)先存儲(chǔ)的各個(gè)log文件內(nèi)篩選出符合所述查詢條件信息的sql信息進(jìn)行顯示。
優(yōu)選地,所述sql信息包括所執(zhí)行的sql語句、執(zhí)行時(shí)間、執(zhí)行線程。
優(yōu)選地,所述記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息的過程具體為:
依據(jù)log4j或slf4j記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息。
為解決上述技術(shù)問題,本發(fā)明還提供了一種應(yīng)用服務(wù)器sql日志記錄裝置,包括:
記錄單元,用于記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息;
文件存儲(chǔ)單元,用于將所述sql信息存儲(chǔ)于指定的log文件中;
文件分割單元,用于判斷所述log文件是否超出預(yù)設(shè)大小閾值,若是,將所述log文件中超出所述預(yù)設(shè)大小閾值的部分分割為新的log文件進(jìn)行存儲(chǔ)。
本發(fā)明提供了一種應(yīng)用服務(wù)器sql日志記錄方法及其裝置,將記錄的sql信息存儲(chǔ)與log文件后,若文件的過大,則將log文件進(jìn)行分割,將大于預(yù)設(shè)大小閾值的部分分割為新的log文件。該方法能夠保證每個(gè)存儲(chǔ)的log文件的大小均不超出預(yù)設(shè)大小閾值,避免了由于日志文件中的信息過多帶來的不變,方便了用戶進(jìn)行查看,同時(shí),也減小了系統(tǒng)的壓力。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種應(yīng)用服務(wù)器sql日志記錄方法的過程的流程圖;
圖2為本發(fā)明提供的一種應(yīng)用服務(wù)器sql日志記錄裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種應(yīng)用服務(wù)器sql日志記錄方法及其裝置,能夠避免由于日志文件中的信息過多帶來的不變,方便用戶進(jìn)行查看,同時(shí)減小系統(tǒng)的壓力。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種應(yīng)用服務(wù)器sql日志記錄方法,參見圖1所示,圖1為本發(fā)明提供的一種應(yīng)用服務(wù)器sql日志記錄方法的過程的流程圖;該方法包括:
步驟s101:記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息;
步驟s102:將sql信息存儲(chǔ)于指定的log文件中;
步驟s103:判斷l(xiāng)og文件是否超出預(yù)設(shè)大小閾值,若是,將log文件中超出預(yù)設(shè)大小閾值的部分分割為新的log文件進(jìn)行存儲(chǔ)。
其中,這里的sql信息包括所執(zhí)行的sql語句、執(zhí)行時(shí)間、執(zhí)行線程。當(dāng)然,若需要包含其他內(nèi)容本發(fā)明也不做特別限定。
另外,這里的預(yù)設(shè)大小閾值可根據(jù)實(shí)際需要自行設(shè)定,本發(fā)明不限定預(yù)設(shè)大小閾值的具體數(shù)值。
作為優(yōu)選地,步驟s102之前還包括:
按照預(yù)設(shè)過濾規(guī)則過濾記錄的sql信息中的無關(guān)信息,并將記錄的各條sql信息的進(jìn)行統(tǒng)一格式調(diào)整。
可以理解的是,記錄下來的各條sql信息之間的格式不一定相同,其包含的內(nèi)容也不一定統(tǒng)一,為方便用戶查看及管理,故需要將sql信息中的無無關(guān)信息進(jìn)行過濾,并將其格式進(jìn)行統(tǒng)一調(diào)整。
作為優(yōu)選地,該方法還包括:
接收用戶輸入的查詢指令,調(diào)用日志查詢界面進(jìn)行顯示;
接收用戶在日志查詢界面內(nèi)輸入的查詢條件信息;
從預(yù)先存儲(chǔ)的各個(gè)log文件內(nèi)篩選出符合查詢條件信息的sql信息進(jìn)行顯示。
即當(dāng)用戶需要對(duì)某一些sql信息進(jìn)行查看時(shí),通過上述步驟,可以使用戶進(jìn)行自定義查詢,這里的查詢條件可包括記錄時(shí)間、處理時(shí)長(zhǎng)等數(shù)據(jù),當(dāng)然,本發(fā)明對(duì)此不作具體限定,大大提高了用戶查看sql信息的便利性。
進(jìn)一步可知,步驟s101的過程具體為:
依據(jù)log4j或slf4j記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息。
其中,使用log4j或slf4j功能的條件是:在應(yīng)用服務(wù)器的lib目錄下添加log4j或slf4j依賴的jar文件。
本發(fā)明提供了一種應(yīng)用服務(wù)器sql日志記錄方法,將記錄的sql信息存儲(chǔ)與log文件后,若文件的過大,則將log文件進(jìn)行分割,將大于預(yù)設(shè)大小閾值的部分分割為新的log文件。該方法能夠保證每個(gè)存儲(chǔ)的log文件的大小均不超出預(yù)設(shè)大小閾值,避免了由于日志文件中的信息過多帶來的不變,方便了用戶進(jìn)行查看,同時(shí),也減小了系統(tǒng)的壓力。
本發(fā)明還提供了一種應(yīng)用服務(wù)器sql日志記錄裝置,參見圖2所示,圖2為本發(fā)明提供的一種應(yīng)用服務(wù)器sql日志記錄裝置的結(jié)構(gòu)示意圖。該裝置包括:
記錄單元1,用于記錄應(yīng)用服務(wù)器執(zhí)行sql語句時(shí)的全部sql信息;
文件存儲(chǔ)單元2,用于將sql信息存儲(chǔ)于指定的log文件中;
文件分割單元3,用于判斷l(xiāng)og文件是否超出預(yù)設(shè)大小閾值,若是,將log文件中超出預(yù)設(shè)大小閾值的部分分割為新的log文件進(jìn)行存儲(chǔ)。
可以理解的是,該裝置還包括用于存儲(chǔ)log文件的數(shù)據(jù)庫。
作為優(yōu)選地,該裝置還包括:
查詢單元,用于接收用戶輸入的查詢指令,調(diào)用日志查詢界面進(jìn)行顯示;接收用戶在日志查詢界面內(nèi)輸入的查詢條件信息;從預(yù)先存儲(chǔ)的各個(gè)log文件內(nèi)篩選出符合查詢條件信息的sql信息進(jìn)行顯示。
本發(fā)明提供了一種應(yīng)用服務(wù)器sql日志記錄裝置,將記錄的sql信息存儲(chǔ)與log文件后,若文件的過大,則將log文件進(jìn)行分割,將大于預(yù)設(shè)大小閾值的部分分割為新的log文件。該方法能夠保證每個(gè)存儲(chǔ)的log文件的大小均不超出預(yù)設(shè)大小閾值,避免了由于日志文件中的信息過多帶來的不變,方便了用戶進(jìn)行查看,同時(shí),也減小了系統(tǒng)的壓力。
需要說明的是,在本說明書中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。