專利名稱:一種日志輸出方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種基于線程級(jí)別的用戶設(shè)備的日志輸出方法和裝置。
背景技術(shù):
為了追蹤Web系統(tǒng)中各種應(yīng)用的運(yùn)行狀態(tài),在具體實(shí)現(xiàn)時(shí)都會(huì)有輸出該應(yīng)用的日志信息的過程。為了輸出具體應(yīng)用的日志信息,現(xiàn)有技術(shù)中,Web服務(wù)器都會(huì)設(shè)置一個(gè)日志級(jí)別(如致命級(jí)別、警告級(jí)別等),對(duì)于輸出的具體應(yīng)用的所有日志信息,Web服務(wù)器均將按照該設(shè)置的日志級(jí)別輸出對(duì)應(yīng)的日志信息。但是,上述方式無法針對(duì)不同用戶設(shè)備輸出基于線程級(jí)別的不同日志信息;在設(shè)置的日志級(jí)別較低時(shí),對(duì)于某些需要詳細(xì)輸出基于線程級(jí)別日志信息的用戶設(shè)備,顯然無法滿足這部分用戶設(shè)備的需求;在設(shè)置的日志級(jí)別較高時(shí),對(duì)于某些不需要詳細(xì)輸出日志信息的用戶設(shè)備,詳細(xì)輸出日志信息必然會(huì)造成資源浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明提供一種日志輸出方法和裝置,以能夠針對(duì)不同用戶設(shè)備輸出不同基于線程級(jí)別的日志信息。為了達(dá)到上述目的,本發(fā)明具體是通過如下技術(shù)方案實(shí)現(xiàn)的:一種日志輸出方法,應(yīng)用于包括用戶設(shè)備和Web服務(wù)器的Web應(yīng)用系統(tǒng)中,所述Web服務(wù)器上記錄有跟蹤列表文件,且所述跟蹤列表文件中記錄了用戶設(shè)備的IP地址,該方法包括以下步驟:所述Web服務(wù)器在接收到用戶設(shè)備的訪問請(qǐng)求時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,并通過所述IP地址查詢所述跟蹤列表文件中記錄的IP地址;如果所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄,則所述Web服務(wù)器將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中;所述Web服務(wù)器在需要輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID ;如果所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄,則所述Web服務(wù)器輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。所述Web服務(wù)器將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中,之后還包括:所述Web服務(wù)器在所述訪問請(qǐng)求處理完成之后,從所述內(nèi)存變量中刪除所述訪問請(qǐng)求對(duì)應(yīng)的線程ID。所述Web服務(wù)器通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID,之后還包括:如果所述內(nèi)存變量中沒有所述當(dāng)前線程ID對(duì)應(yīng)的記錄,則所述Web服務(wù)器輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息。所述指定日志級(jí)別比所述原始日志級(jí)別的日志級(jí)別高。
所述跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址。本發(fā)明提供一種Web服務(wù)器,應(yīng)用于包括用戶設(shè)備和所述Web服務(wù)器的Web應(yīng)用系統(tǒng)中,所述Web服務(wù)器上維護(hù)有跟蹤列表文件,且所述Web服務(wù)器包括:第一記錄模塊,用于在所述跟蹤列表文件中記錄用戶設(shè)備的IP地址;第一查詢模塊,用于在接收到用戶設(shè)備的訪問請(qǐng)求時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,通過所述IP地址查詢所述跟蹤列表文件中記錄的IP地址;第二記錄模塊,用于在所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄時(shí),將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中;第二查詢模塊,用于在需要輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID ;輸出模塊,用于當(dāng)所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。還包括:刪除模塊,用于在所述訪問請(qǐng)求處理完成之后,從所述內(nèi)存變量中刪除所述訪問請(qǐng)求對(duì)應(yīng)的線程ID。所述輸出模塊,還用于當(dāng)所述內(nèi)存變量中沒有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息。所述指定日志級(jí)別比所述原始日志級(jí)別的日志級(jí)別高。所述跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn):本發(fā)明中,Web服務(wù)器能夠針對(duì)不同用戶設(shè)備輸出不同日志級(jí)別的日志信息,從而會(huì)產(chǎn)生更加清晰的日志信息,繼而大大提高Web應(yīng)用系統(tǒng)分析和定位問題的效率。
圖1是本發(fā)明提供的一種日志輸出方法流程圖;圖2是本發(fā)明提出的一種日志輸出設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明提出一種日志輸出方法,該方法應(yīng)用于包括多個(gè)用戶設(shè)備(即客戶端)和Web服務(wù)器的Web應(yīng)用系統(tǒng)中,并能夠根據(jù)實(shí)際情形需要,輸出不同用戶設(shè)備的指定日志級(jí)別或者原始日志級(jí)別的日志信息。為了實(shí)現(xiàn)本發(fā)明目的,本發(fā)明會(huì)利用每個(gè)用戶設(shè)備所對(duì)應(yīng)的IP地址,為了能夠針對(duì)不同用戶設(shè)備輸出指定日志級(jí)別的日志信息,在本發(fā)明中,需要在Web服務(wù)器上記錄跟蹤列表文件(如ip_list.conf文件),該跟蹤列表文件中記錄了用戶設(shè)備的IP地址,且該跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址。具體的,在某應(yīng)用場(chǎng)景下(例如:用戶設(shè)備在上線(即訪問Web服務(wù)器)之后,如果發(fā)現(xiàn)該用戶設(shè)備出現(xiàn)異常,此時(shí),該用戶設(shè)備可能需要詳細(xì)輸出指定日志級(jí)別的日志信息),如果需要獲取用戶設(shè)備詳細(xì)的指定日志級(jí)別的日志信息,此時(shí),可以將該用戶設(shè)備的IP地址加載到跟蹤列表文件中,以在后續(xù)過程中對(duì)該用戶設(shè)備輸出指定日志級(jí)別的日志信
肩、O例如,用戶設(shè)備I和用戶設(shè)備2在上線之后,如果發(fā)現(xiàn)用戶設(shè)備I和用戶設(shè)備2為需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備,則需要將IP地址1(用戶設(shè)備I的IP地址)和IP地址2 (用戶設(shè)備2的IP地址)加載到跟蹤列表文件中;用戶設(shè)備3和用戶設(shè)備4在上線之后,如果發(fā)現(xiàn)用戶設(shè)備3和用戶設(shè)備4為不需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備,則不需要將用戶設(shè)備3和用戶設(shè)備4的IP地址加載到跟蹤列表文件中;基于此,在Web服務(wù)器上維護(hù)的跟蹤列表文件中,將記錄有IP地址I和IP地址2。基于跟蹤列表文件中記錄的IP地址,如圖1所示,該方法包括以下步驟:步驟l、Web服務(wù)器在接收到用戶設(shè)備的訪問請(qǐng)求(如HTTP(Hyper Text TransferProtocol,超文本傳輸協(xié)議)訪問請(qǐng)求)時(shí),獲取用戶設(shè)備對(duì)應(yīng)的IP地址,并通過該IP地址查詢跟蹤列表文件中記錄的IP地址,判斷跟蹤列表文件中是否有該IP地址對(duì)應(yīng)的記錄。如果是,則執(zhí)行步驟2 ;如果否,則執(zhí)行步驟3 ;例如,對(duì)于用戶設(shè)備I和用戶設(shè)備2的訪問請(qǐng)求,跟蹤列表文件中將有IP地址I和IP地址2對(duì)應(yīng)的記錄,此情況下執(zhí)行步驟2 ;對(duì)于用戶設(shè)備3和用戶設(shè)備4的訪問請(qǐng)求,跟蹤列表文件中將沒有其IP地址對(duì)應(yīng)的記錄,此情況下執(zhí)行步驟3。步驟2、Web服務(wù)器將訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中。本發(fā)明中,對(duì)于用戶設(shè)備的每個(gè)訪問請(qǐng)求,Web服務(wù)器上均會(huì)分配一個(gè)唯一的線程ID (即操作系統(tǒng)識(shí)別線程的唯一標(biāo)志);在該訪問請(qǐng)求處理完成之前,該訪問請(qǐng)求對(duì)應(yīng)的線程ID不會(huì)發(fā)生變化;在該訪問請(qǐng)求處理完成之后,Web服務(wù)器可以將該訪問請(qǐng)求對(duì)應(yīng)的線程ID分配給其它訪問請(qǐng)求。進(jìn)一步地,基于此訪問請(qǐng)求對(duì)應(yīng)的線程ID,Web服務(wù)器在將訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量之后,如果該訪問請(qǐng)求被處理完成,則該Web服務(wù)器還需要從內(nèi)存變量中刪除該訪問請(qǐng)求對(duì)應(yīng)的線程ID。步驟3、Web服務(wù)器輸出當(dāng)前線程ID (即當(dāng)前待處理的訪問請(qǐng)求對(duì)應(yīng)的線程ID)對(duì)應(yīng)的日志信息時(shí),通過當(dāng)前線程ID查詢內(nèi)存變量中記錄的線程ID,并判斷內(nèi)存變量中是否有當(dāng)前線程ID對(duì)應(yīng)的記錄;如果是,則執(zhí)行步驟4 ;如果否,則執(zhí)行步驟5。本步驟中,在訪問請(qǐng)求的處理過程中,所述Web服務(wù)器會(huì)根據(jù)預(yù)定的策略實(shí)時(shí)輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息并加以保存,以便實(shí)時(shí)或后續(xù)了解該Web服務(wù)器上具體應(yīng)用的運(yùn)行狀態(tài)。其中,如果判斷該訪問請(qǐng)求對(duì)應(yīng)的線程ID在Web服務(wù)器的內(nèi)存變量中存在,表明此時(shí)有對(duì)當(dāng)前用戶設(shè)備輸出詳細(xì)的指定級(jí)別的日志信息的需求,此時(shí),執(zhí)行步驟4;如果判斷該訪問請(qǐng)求對(duì)應(yīng)的線程ID在Web服務(wù)器的內(nèi)存變量中不存在,則表明當(dāng)前用戶沒有輸出指定日志級(jí)別的日志信息的需求,此時(shí),則執(zhí)行步驟5。 步驟4、Web服務(wù)器輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。本發(fā)明中,當(dāng)在跟蹤列表文件中有用戶設(shè)備的IP地址對(duì)應(yīng)的記錄時(shí),該IP地址的訪問請(qǐng)求所對(duì)應(yīng)的線程ID由于已記錄在內(nèi)存變量中,Web服務(wù)器在需要輸出該線程ID對(duì)應(yīng)的日志信息時(shí),可以查詢到內(nèi)存變量中有該線程ID對(duì)應(yīng)的記錄,此時(shí)將輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。步驟5、Web服務(wù)器輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息。本發(fā)明中,當(dāng)在跟蹤列表文件中沒有用戶設(shè)備的IP地址對(duì)應(yīng)的記錄時(shí),該IP地址的訪問請(qǐng)求所對(duì)應(yīng)的線程ID未記錄在內(nèi)存變量中,Web服務(wù)器在輸出該線程ID對(duì)應(yīng)的日志信息時(shí),由于內(nèi)存變量中沒有該線程ID對(duì)應(yīng)的記錄,因此不會(huì)輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息;此時(shí),則根據(jù)預(yù)定的策略輸出該用戶設(shè)備的原始日志級(jí)別的日志信息。本發(fā)明中,指定日志級(jí)別比原始日志級(jí)別的日志級(jí)別高。需要說明的是,由于日志級(jí)別包括但不限于致命級(jí)別、錯(cuò)誤級(jí)別、警告級(jí)別、信息級(jí)別、調(diào)試級(jí)別。具體地,調(diào)試級(jí)別比信息級(jí)別的日志級(jí)別高(即調(diào)試級(jí)別的日志信息比信息級(jí)別的日志信息更加詳細(xì)),信息級(jí)別比警告級(jí)別的日志級(jí)別高(即信息級(jí)別的日志信息比警告級(jí)別的日志信息更加詳細(xì)),警告級(jí)別比錯(cuò)誤級(jí)別的日志級(jí)別高(即警告級(jí)別的日志信息比錯(cuò)誤級(jí)別的日志信息更加詳細(xì)),錯(cuò)誤級(jí)別比致命級(jí)別的日志級(jí)別高(即錯(cuò)誤級(jí)別的日志信息比致命級(jí)別的日志信息更加詳細(xì))。因此,在設(shè)置指定日志級(jí)別和原始日志級(jí)別時(shí),如果原始日志級(jí)別為致命級(jí)別,則指定日志級(jí)別可以為錯(cuò)誤級(jí)別、或警告級(jí)別、或信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為錯(cuò)誤級(jí)別,則指定日志級(jí)別可以為警告級(jí)別、或信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為警告級(jí)別,則指定日志級(jí)別可以為信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為信息級(jí)別,則指定日志級(jí)別可以為調(diào)試級(jí)別??紤]到AOP (Aspect Oriented Programming,面向切面編程)方式可以通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理,實(shí)現(xiàn)“在不修改源代碼的情況下給程序動(dòng)態(tài)統(tǒng)一添加功能”;本發(fā)明中,為了能夠?qū)崿F(xiàn)當(dāng)內(nèi)存變量中有當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息,當(dāng)內(nèi)存變量中沒有當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息;在一種優(yōu)選的實(shí)施方式中,可以通過AOP (如Spring A0P)方式對(duì)現(xiàn)有技術(shù)中的“確定日志級(jí)別”的方法進(jìn)行調(diào)整,使得在內(nèi)存變量中沒有當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),按照現(xiàn)有方式進(jìn)行處理,即輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別(現(xiàn)有方式中由Web服務(wù)器設(shè)置的日志級(jí)別)的日志信息;在內(nèi)存變量中有當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),按照本發(fā)明提供的方式進(jìn)行處理,即輸出當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息,該指定日志級(jí)別由AOP方式編程確定,Web服務(wù)器直接輸出該指定日志級(jí)別的日志信息。本發(fā)明中,為了更加清晰的輸出指定日志級(jí)別的日志信息,在具體實(shí)現(xiàn)過程中,還可以直接將指定日志級(jí)別的日志信息記錄到獨(dú)立的日志文件中,并通過該日志文件輸出指定日志級(jí)別的日志信息?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明還提出了一種Web服務(wù)器,應(yīng)用于包括用戶設(shè)備(即客戶端)和所述Web服務(wù)器的Web應(yīng)用系統(tǒng)中,并能夠根據(jù)實(shí)際情形需要,輸出不同用戶設(shè)備的指定日志級(jí)別或者原始日志級(jí)別的日志信息。為了實(shí)現(xiàn)本發(fā)明目的,本發(fā)明會(huì)利用每個(gè)用戶設(shè)備所對(duì)應(yīng)的IP地址,為了能夠針對(duì)不同用戶設(shè)備輸出指定日志級(jí)別的日志信息,在本發(fā)明中,需要在Web服務(wù)器上記錄跟蹤列表文件(如ip_list.conf文件),該跟蹤列表文件中記錄了用戶設(shè)備的IP地址;其中,用戶設(shè)備在上線(即訪問Web服務(wù)器)之后,如果發(fā)現(xiàn)該用戶設(shè)備出現(xiàn)異常,則認(rèn)為該用戶設(shè)備需要詳細(xì)輸出指定日志級(jí)別的日志信息,此時(shí)可以將該用戶設(shè)備的IP地址加載到跟蹤列表文件中。如圖2所示,所述Web服務(wù)器包括:第一記錄模塊11,用于在所述跟蹤列表文件中記錄需要跟蹤指定日志級(jí)別日志信息的用戶設(shè)備的IP地址,且該跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址;例如,用戶設(shè)備I和用戶設(shè)備2在上線之后,如果發(fā)現(xiàn)用戶設(shè)備I和用戶設(shè)備2為需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備,則需要將IP地址I (用戶設(shè)備I的IP地址)和IP地址2 (用戶設(shè)備2的IP地址)加載到跟蹤列表文件中;用戶設(shè)備3和用戶設(shè)備4在上線之后,如果發(fā)現(xiàn)用戶設(shè)備3和用戶設(shè)備4為不需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備,則不需要將用戶設(shè)備3和用戶設(shè)備4的IP地址加載到跟蹤列表文件中;基于此,在Web服務(wù)器上維護(hù)的跟蹤列表文件中,只需要記錄IP地址I和IP地址2。第一查詢模塊12,用于在接收到用戶設(shè)備的訪問請(qǐng)求(如HTTP訪問請(qǐng)求)時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,并通過所述IP地址查詢所述跟蹤列表文件中記錄的IP地址。第二記錄模塊13,用于在所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄時(shí),將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中。第二查詢模塊14,用于輸出當(dāng)前線程ID (即當(dāng)前待處理的訪問請(qǐng)求所對(duì)應(yīng)的線程ID)對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID。輸出模塊15,用于當(dāng)所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息;當(dāng)所述內(nèi)存變量中沒有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信肩、O本發(fā)明中,指定日志級(jí)別比原始日志級(jí)別的日志級(jí)別高。需要說明的是,由于日志級(jí)別具體包括但不限于致命級(jí)別、錯(cuò)誤級(jí)別、警告級(jí)別、信息級(jí)別、調(diào)試級(jí)別,且調(diào)試級(jí)別比信息級(jí)別的日志級(jí)別高(即調(diào)試級(jí)別的日志信息比信息級(jí)別的日志信息更加詳細(xì)),信息級(jí)別比警告級(jí)別的日志級(jí)別高(即信息級(jí)別的日志信息比警告級(jí)別的日志信息更加詳細(xì)),警告級(jí)別比錯(cuò)誤級(jí)別的日志級(jí)別高(即警告級(jí)別的日志信息比錯(cuò)誤級(jí)別的日志信息更加詳細(xì)),錯(cuò)誤級(jí)別比致命級(jí)別的日志級(jí)別高(即錯(cuò)誤級(jí)別的日志信息比致命級(jí)別的日志信息更加詳細(xì))。因此,在設(shè)置指定日志級(jí)別和原始日志級(jí)別時(shí),如果原始日志級(jí)別為致命級(jí)別,則指定日志級(jí)別可以為錯(cuò)誤級(jí)別、或警告級(jí)別、或信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為錯(cuò)誤級(jí)別,則指定日志級(jí)別可以為警告級(jí)別、或信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為警告級(jí)別,則指定日志級(jí)別可以為信息級(jí)別、或調(diào)試級(jí)別;如果原始日志級(jí)別為信息級(jí)別,則指定日志級(jí)別可以為調(diào)試級(jí)別。 本發(fā)明中,該Web服務(wù)器還包括刪除模塊16,該刪除模塊16用于在將訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量之后,在所述訪問請(qǐng)求處理完成時(shí),從所述內(nèi)存變量中刪除所述訪問請(qǐng)求對(duì)應(yīng)的線程ID。
其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種日志輸出方法,應(yīng)用于包括用戶設(shè)備和Web服務(wù)器的Web應(yīng)用系統(tǒng)中,其特征在于,所述Web服務(wù)器上記錄有跟蹤列表文件,且所述跟蹤列表文件中記錄了用戶設(shè)備的IP地址,該方法包括以下步驟: 所述Web服務(wù)器在接收到用戶設(shè)備的訪問請(qǐng)求時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,并通過所述IP地址查詢所述跟蹤列表文件中記錄的IP地址; 如果所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄,則所述Web服務(wù)器將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中; 所述Web服務(wù)器在輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID ; 如果所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄,則所述Web服務(wù)器輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述Web服務(wù)器將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中,之后還包括: 所述Web服務(wù)器在所述訪問請(qǐng)求處理完成之后,從所述內(nèi)存變量中刪除所述訪問請(qǐng)求對(duì)應(yīng)的線程ID。
3.如權(quán)利要求1所述的方法,其特征在于,所述Web服務(wù)器通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID,之后還包括: 如果所述內(nèi)存變量中沒有所述當(dāng)前線程ID對(duì)應(yīng)的記錄,則所述Web服務(wù)器輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息。
4.如權(quán)利要求 3所述的方法,其特征在于,所述指定日志級(jí)別比所述原始日志級(jí)別的日志級(jí)別高。
5.如權(quán)利要求1所述的方法,其特征在于,所述跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址。
6.一種Web服務(wù)器,應(yīng)用于包括用戶設(shè)備和所述Web服務(wù)器的Web應(yīng)用系統(tǒng)中,其特征在于,所述Web服務(wù)器上維護(hù)有跟蹤列表文件,且所述Web服務(wù)器包括: 第一記錄模塊,用于在所述跟蹤列表文件中記錄用戶設(shè)備的IP地址; 第一查詢模塊,用于在接收到用戶設(shè)備的訪問請(qǐng)求時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,通過所述IP地址查詢所述跟蹤列表文件中記錄的IP地址; 第二記錄模塊,用于在所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄時(shí),將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中; 第二查詢模塊,用于在輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID ; 輸出模塊,用于當(dāng)所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。
7.如權(quán)利要求6所述的Web服務(wù)器,其特征在于,還包括: 刪除模塊,用于在所述訪問請(qǐng)求處理完成之后,從所述內(nèi)存變量中刪除所述訪問請(qǐng)求對(duì)應(yīng)的線程ID。
8.如權(quán)利要求6所述的Web服務(wù)器,其特征在于, 所述輸出模塊,還用于當(dāng)所述內(nèi)存變量中沒有所述當(dāng)前線程ID對(duì)應(yīng)的記錄時(shí),輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的原始日志級(jí)別的日志信息。
9.如權(quán)利要求8所述的Web服務(wù)器,其特征在于,所述指定日志級(jí)別比所述原始日志級(jí)別的日志級(jí)別高。
10.如權(quán)利要求6所述的Web服務(wù)器,其特征在于,所述跟蹤列表文件中記錄的IP地址具體為:需要詳細(xì)輸出指定日志級(jí)別日志信息的用戶設(shè)備的IP地址。
全文摘要
本發(fā)明公開了一種日志輸出方法和裝置,該方法包括Web服務(wù)器在接收到用戶設(shè)備的訪問請(qǐng)求時(shí),獲取所述用戶設(shè)備對(duì)應(yīng)的IP地址,并通過所述IP地址查詢跟蹤列表文件中記錄的IP地址;如果所述跟蹤列表文件中有所述IP地址對(duì)應(yīng)的記錄,則所述Web服務(wù)器將所述訪問請(qǐng)求對(duì)應(yīng)的線程ID記錄到內(nèi)存變量中;所述Web服務(wù)器在需要輸出當(dāng)前線程ID對(duì)應(yīng)的日志信息時(shí),通過所述當(dāng)前線程ID查詢所述內(nèi)存變量中記錄的線程ID;如果所述內(nèi)存變量中有所述當(dāng)前線程ID對(duì)應(yīng)的記錄,則所述Web服務(wù)器輸出所述當(dāng)前線程ID對(duì)應(yīng)的用戶設(shè)備的指定日志級(jí)別的日志信息。本發(fā)明中,Web服務(wù)器能夠針對(duì)不同用戶設(shè)備輸出不同日志級(jí)別的日志信息,提高分析和定位問題的效率。
文檔編號(hào)H04L12/24GK103152391SQ20131004484
公開日2013年6月12日 申請(qǐng)日期2013年1月31日 優(yōu)先權(quán)日2013年1月31日
發(fā)明者王佳良 申請(qǐng)人:杭州華三通信技術(shù)有限公司