一種存儲日志的方法及裝置制造方法
【專利摘要】本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種存儲日志的方法及裝置。該方法包括:對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識;根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑;按照配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。該方法實現(xiàn)了虛擬服務(wù)器的日志存儲路徑的動態(tài)配置,提高了日志存儲效率。
【專利說明】—種存儲日志的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種存儲日志的方法及裝置。
【背景技術(shù)】
[0002]伴隨著計算機技術(shù)的快速發(fā)展,計算機系統(tǒng)日志在監(jiān)控服務(wù)器系統(tǒng)資源方面的應(yīng)用備受關(guān)注。計算機系統(tǒng)的日志存儲方式成為影響計算機系統(tǒng)工作效率的重要問題。
[0003]現(xiàn)有的存儲日志的方法包括:啟動待存儲日志的虛擬服務(wù)器;在所述虛擬服務(wù)器所屬設(shè)備的中的路徑配置文件中配置日志存儲路徑;按照配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
[0004]采用現(xiàn)有的存儲日志的方法中路徑配置文件是靜態(tài)配置的,需要在待存儲日志的虛擬服務(wù)器的路徑配置文件中手動修改日志存儲路徑,因此現(xiàn)有的存儲日志的方法,操作復(fù)雜且效率較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種存儲日志的方法及裝置,以降低存儲日志的復(fù)雜度,并且提高日志存儲效率。
[0006]—方面,本發(fā)明提出一種存儲日志的方法,包括:
[0007]對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識;
[0008]根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑;
[0009]按照配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
[0010]另一方面,本發(fā)明還提出一種存儲日志的裝置,包括:
[0011]標(biāo)識獲取單元,用于對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識;
[0012]路徑配置單元,用于根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑;
[0013]日志存儲單元,用于按照所述路徑配置單元配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
[0014]本發(fā)明提出的存儲日志的方法及裝置,通過內(nèi)存中的待存儲日志的虛擬服務(wù)器的標(biāo)識信息為所述虛擬服務(wù)器配置日志存儲路徑,實現(xiàn)了虛擬服務(wù)器的日志存儲路徑的動態(tài)配置,提高了日志存儲效率。
【專利附圖】
【附圖說明】
[0015]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:[0016]圖1是本發(fā)明第一實施例中提供的一種存儲日志的方法的實現(xiàn)流程圖;
[0017]圖2是本發(fā)明第二實施例中提供的一種存儲日志的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0018]下面結(jié)合附圖及具體實施例對本發(fā)明進行更加詳細與完整的說明??梢岳斫獾氖?,此處所描述的具體實施例僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
[0019]圖1是本發(fā)明第一實施例中提供的一種存儲日志的方法的實現(xiàn)流程圖。本發(fā)明實施例提供的方法可以由本發(fā)明實施例提供的存儲日志的裝置來執(zhí)行,該裝置可以由軟件和/或硬件來實現(xiàn)。如圖1所示,本發(fā)明實施例提供的方法包括:
[0020]步驟101、對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識。
[0021]虛擬服務(wù)器也稱為vps主機,相對于真實主機而言,采用特殊的軟硬件技術(shù)把一臺完整的服務(wù)器主機分成若干個主機。tomcat為常用的虛擬服務(wù)器,由于其具有技術(shù)先進性、性能穩(wěn)定以及免費等特點,深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的網(wǎng)絡(luò)應(yīng)用服務(wù)器。
[0022]步驟102、根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑。
[0023]其中,路徑配置文件的格式能夠為可拓展標(biāo)記語言(Extentsible MarkupLanguage,XML),用于標(biāo)記路徑配置文件中日志存儲格式及日志存儲路徑等。由于路徑配置文件中的日志存儲路徑參數(shù)由標(biāo)識參數(shù)和預(yù)設(shè)的路徑組成,將步驟101中獲取的標(biāo)識賦值給日志存儲路徑參數(shù)中的標(biāo)識參數(shù),即可以完成對日志存儲路徑的賦值。
[0024]步驟103、按照配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
[0025]將虛擬服務(wù)器的日志存儲到配置好的日志存儲路徑,即將日志存儲到日志存儲路徑所對應(yīng)的目錄的文件夾中,其中日志是指系統(tǒng)所指定對象的某些操作和其操作結(jié)果按時間有序的集合。每個日志文件由日志記錄組成,每條日志記錄描述了一次單獨的系統(tǒng)事件。通常情況下,系統(tǒng)日志是用戶可以直接閱讀的文本文件,其中包含了一個時間戳和一個信息或者子系統(tǒng)所特有的其他信息。日志文件為服務(wù)器、工作站、防火墻和應(yīng)用軟件等IT資源相關(guān)活動記錄必要的、有價值的信息,這對系統(tǒng)監(jiān)控、查詢、報表和安全審計是十分重要的。
[0026]本發(fā)明實施例在從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識之前,還包括:在所述虛擬服務(wù)器啟動時,將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中。
[0027]由于日志存儲路徑中含有標(biāo)識參數(shù),需要從虛擬服務(wù)器所述設(shè)備的內(nèi)存中讀取標(biāo)識信息以組裝日志輸出路徑,因此在啟動虛擬服務(wù)器時,將其標(biāo)識添加到內(nèi)存中。
[0028]將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,包括:通過所述虛擬服務(wù)器的啟動腳本,將所述標(biāo)識添加到所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,所述虛擬服務(wù)器的啟動腳本中包含所述標(biāo)識的信息。
[0029]將虛擬服務(wù)器的標(biāo)識添加到內(nèi)存中是通過在虛擬服務(wù)器的啟動腳本中添加標(biāo)識的信息實現(xiàn)的。由于虛擬服務(wù)器的啟動腳本中包括標(biāo)識的信息,其啟動時能夠?qū)?biāo)識的信息存儲到虛擬服務(wù)器所述設(shè)備的內(nèi)存中。
[0030]根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑,包括:在所述日志存儲路徑參數(shù)給出的日志存儲路徑的末端目錄下,創(chuàng)建以所述標(biāo)識命名的文件夾。
[0031 ]日志存儲于日志存儲路徑下實質(zhì)上是將日志存儲于日志存儲路徑的目錄所對應(yīng)的文件夾下。因此,將標(biāo)識添加賦值給日志存儲路徑參數(shù)中的標(biāo)識參數(shù)后,在日志存儲路徑參數(shù)給出的日志存儲路徑的末端目錄下,創(chuàng)建以所述標(biāo)識命名的文件夾。其中,日志存儲路徑參數(shù)中給出的日志存儲路徑的末端目錄可選的位于虛擬服務(wù)器的安裝包中。
[0032]可選的,所述標(biāo)識用于在所述設(shè)備中唯一表示所述虛擬服務(wù)器。本實施例中虛擬服務(wù)器的標(biāo)識可以是唯一的,同一臺服務(wù)器中的各個相同虛擬服務(wù)器的日志分別存儲于不同文件夾下,此時能夠區(qū)分位于同一臺服務(wù)器的各個相同虛擬服務(wù)器的日志;另外,虛擬服務(wù)器的標(biāo)識可以是不唯一的,相同標(biāo)識的虛擬服務(wù)器的日志存儲于同一個文件夾中。
[0033]本發(fā)明實施例所提供的存儲日志的方法,通過將內(nèi)存中的虛擬服務(wù)器的標(biāo)識,添加到路徑配置文件中的日志存儲路徑參數(shù)所包括的標(biāo)識參數(shù)中,從而通過內(nèi)存中的待存儲日志的虛擬服務(wù)器的標(biāo)識信息為所述虛擬服務(wù)器配置日志存儲路徑,實現(xiàn)了虛擬服務(wù)器的日志存儲路徑的動態(tài)配置,提高了日志存儲效率。
[0034]圖2是本發(fā)明第二實施例中提供的一種日志存儲裝置的結(jié)構(gòu)效果圖。本發(fā)明實施例和本發(fā)明中方法實施例屬于統(tǒng)一構(gòu)思,用于實現(xiàn)圖1所示實施例中的方法,在本發(fā)明實施例的路徑配置單元中未詳述的內(nèi)容,請參考本發(fā)明方法實施例。如圖2所示,本發(fā)明實施例提供的裝置,包括:
[0035]標(biāo)識獲取單元201,用于對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識;路徑配置單元202,用于根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑;日志存儲單元203,用于按照所述路徑配置單元配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
[0036]所述路徑配置單元202具體用于在所述日志存儲路徑參數(shù)給出的日志存儲路徑的末端目錄下,創(chuàng)建以所述標(biāo)識命名的文件夾。
[0037]裝置還包括:標(biāo)識添加單元,用于在所述虛擬服務(wù)器啟動時,將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中。
[0038]所述標(biāo)識添加單元具體用于通過所述虛擬服務(wù)器的啟動腳本,將所述標(biāo)識添加到所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,所述虛擬服務(wù)器的啟動腳本中包含所述標(biāo)識的信息。
[0039]所述標(biāo)識獲取單元獲取的所述標(biāo)識用于在所述設(shè)備中唯一表示所述虛擬服務(wù)器。
[0040]本發(fā)明實施例所提供的存儲日志的裝置,通過標(biāo)識獲取單元201在虛擬服務(wù)器的啟動腳本中配置虛擬服務(wù)器(例如Tomcat)的標(biāo)識信息,并把標(biāo)識信息存入內(nèi)存中。隨后,路徑配置單元202將標(biāo)識參數(shù)添加到日志存儲路徑參數(shù)中,并且將標(biāo)識信息賦給日志存儲路徑參數(shù)中的標(biāo)識參數(shù),以完成日志存儲路徑的動態(tài)配置;日志存儲單元203在配置的日志存儲路徑下存儲虛擬服務(wù)器相應(yīng)的日志。
[0041]另外,由于本發(fā)明實施例所提供的日志存儲的裝置通過虛擬服務(wù)器的啟動腳本為每一個虛擬服務(wù)器注入了唯一標(biāo)識,從而實現(xiàn)一臺服務(wù)器中多個虛擬服務(wù)器輸出日志的目的地都是不同的文件,能精確定位到一條日志信息是來自哪個虛擬服務(wù)器,從而在應(yīng)用報錯的情況下能很快的正確定位是哪個虛擬服務(wù)器相對應(yīng)的應(yīng)用出錯。
[0042]本實施例提供的日志存儲的裝置用于執(zhí)行本發(fā)明任意實施例提供的日志存儲的方法,具備相應(yīng)的功能模塊,達到相同的技術(shù)效果。
[0043]本發(fā)明第三實施例為使用log4j存儲tomcat的日志的完整技術(shù)方案。其中,log4j為日志存儲中常用的技術(shù),是一個開放源代碼項目。通過使用log4j,可以控制日志信息輸送的目的地是控制臺、文件、圖形用戶界面組件、甚至是套接口服務(wù)器、新技術(shù)的事件記錄器或UNIX系統(tǒng)日志守護進程等;也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級別,能夠更加細致地控制日志的生成過程。log4j技術(shù)控制日志存儲時,可以通過一個配置來靈活地進行配置,而不需要修改應(yīng)用的代碼。
[0044]在tomcat的啟動腳本里注入該tomcat信息的唯一標(biāo)識,用以區(qū)分一臺服務(wù)器上的其他tomcat,通常tomcat的啟動腳本為Shell腳本。上述標(biāo)識是用戶自己定義的,需要保證位于同一臺服務(wù)器上的各個tomcat的標(biāo)識不一樣,如有5個tomcat應(yīng)用,他們的標(biāo)識分別為 serverl、server2、server3、server4 和 server5,在第一個的 tomcat 的啟動腳本里增加以下代碼:
[0045]export JAVA_0PTS=,,-Dserver.log.1d=serverl,,
[0046]當(dāng)用tomcat啟動腳本執(zhí)行該tomcat的啟動命令時”-Dserver.log.1d=serverl”將會被動態(tài)的注入到該tomcat所述設(shè)備的內(nèi)存里,例如該tomcat的java系統(tǒng)常量。
[0047]編寫Servlet的監(jiān)聽器Log4jInitListener,該監(jiān)聽器主要作用是通過key等于server, log.1d獲取前面通過tomcat啟動腳本輸入java系統(tǒng)常量的值serverl,并把重新
組裝的日志輸出路徑輸入到j(luò)ava系統(tǒng)常量中,具體代碼片段如下:
[0048]
【權(quán)利要求】
1.一種存儲日志的方法,其特征在于,包括: 對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識; 根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑; 按照配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑,包括: 在所述日志存儲路徑參數(shù)給出的日志存儲路徑的末端目錄下,創(chuàng)建以所述標(biāo)識命名的文件夾。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識之前,還包括: 在所述虛擬服務(wù)器啟動時,將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,包括: 通過所述虛擬服務(wù)器的啟動腳本,將所述標(biāo)識添加到所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,所述虛擬服務(wù)器的啟動腳本中包含所述標(biāo)識的信息。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述標(biāo)識用于在所述設(shè)備中唯一表示所述虛擬服務(wù)器。
6.一種存儲日志的裝置,其特征在于,包括: 標(biāo)識獲取單元,用于對于待存儲日志的虛擬服務(wù)器,從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中獲取所述虛擬服務(wù)器的標(biāo)識; 路徑配置單元,用于根據(jù)所述標(biāo)識以及所述虛擬服務(wù)器所屬設(shè)備中的路徑配置文件中的日志存儲路徑參數(shù),為所述虛擬服務(wù)器配置日志存儲路徑; 日志存儲單元,用于按照所述路徑配置單元配置的日志存儲路徑存儲所述虛擬服務(wù)器的日志。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述配置日志存儲路徑單元具體用于在所述日志存儲路徑參數(shù)給出的日志存儲路徑的末端目錄下,創(chuàng)建以所述標(biāo)識命名的文件夾。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 標(biāo)識添加單元,用于在所述虛擬服務(wù)器啟動時,將所述虛擬服務(wù)器的標(biāo)識添加到從所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述添加獲取單元具體用于通過所述虛擬服務(wù)器的啟動腳本,將所述標(biāo)識添加到所述虛擬服務(wù)器所屬設(shè)備的內(nèi)存中,所述虛擬服務(wù)器的啟動腳本中包含所述標(biāo)識的信息。
10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述標(biāo)識獲取單元獲取的所述標(biāo)識用于在所述設(shè)備中唯一表示所述虛擬服務(wù)器。
【文檔編號】G06F17/30GK103617283SQ201310674858
【公開日】2014年3月5日 申請日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
【發(fā)明者】梅軍 申請人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司