两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法

文檔序號(hào):6482721閱讀:338來源:國知局
專利名稱:一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法
技術(shù)領(lǐng)域
本發(fā)明涉及輸出日志文件的方法,尤其涉及一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法。
背景技術(shù)
在軟件系統(tǒng)中,需要日志功能來記錄軟件系統(tǒng)運(yùn)行過程中所發(fā)生的事件。目前
的一些日志模塊有Log4cpp、 Log4j、 Log4cxx等,這些模塊提供了統(tǒng)一的日志輸入 接口,通過一個(gè)或多個(gè)日志輸出管理器將日志輸出到文件、日志服務(wù)器,或數(shù)據(jù)庫 等位置。這些模塊中將日志輸出到文件時(shí)僅提供了回滾輸出日志文件的功能,即設(shè) 定每個(gè)日志文件大小的最大值M和最多可輸出的日志文件個(gè)數(shù)C,按如下規(guī)則輸 出日志文件
(1) 輸出的每個(gè)日志文件的大小不超過M;
(2) 輸出的日志文件的個(gè)數(shù)不大于C;
(3) 每個(gè)輸出的日志文件有一個(gè)序列號(hào),序列號(hào)按其輸出的先后順序依次遞 增,序列號(hào)從1開始;
(4) 當(dāng)某個(gè)文件輸出滿時(shí)(即文件大小將超過M時(shí)),若此時(shí)文件個(gè)數(shù)小于 C,則輸出到一個(gè)新的日志文件,并令其序列號(hào)加l;
(5) 當(dāng)某個(gè)文件輸出滿時(shí),若此時(shí)文件個(gè)數(shù)為C,則刪除序列號(hào)為1的文件, 并每個(gè)令序列號(hào)大于1的文件的序列號(hào)減1,輸出序列號(hào)為C的文件。
在輸出日志文件時(shí),往往需要控制輸出日志文件的時(shí)間,例如每隔一小時(shí)輸出 一個(gè)日志文件,以便提高通過時(shí)間來檢索日志文件的效率?;貪L輸出日志文件是從 每個(gè)日志文件的大小和日志文件的個(gè)數(shù)方面進(jìn)行考慮,其不能滿足上述需求。在這 種情況下,為了解決上述問題,提出了一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,經(jīng)文 件檢索發(fā)現(xiàn),目前沒有這方面的方法。

發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷,提供一種高效可靠的動(dòng) 態(tài)按時(shí)間輸出日志文件的方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn) 一種動(dòng)態(tài)按時(shí)間輸出日志文件的 方法,其特征在于,該方法包括
(1) 定義文件命名規(guī)則,在文件名中設(shè)置包含時(shí)間信息;
(2) 定義時(shí)間顆粒度,根據(jù)輸出日志的大小和輸出頻率,定義輸出日志文件 的顆粒度;
(3) 定義文件大小閾值,定義文件大小閾值M,每個(gè)輸出的日志文件大小不 能大于該值M;
(4) 獲得文件名和文件序列號(hào);
(5) 輸出日志文件,將日志輸出到日志文件中。 所述的獲得文件名和文件序列號(hào)包括
a. 根據(jù)日志文件命名規(guī)則、時(shí)間顆粒度,以及當(dāng)前時(shí)間計(jì)算出當(dāng)前要輸出的 日志文件的文件名;
b. 若當(dāng)前輸出的日志文件大小超過閾值M,則創(chuàng)建新的文件,令其序列號(hào)加1。
所述的根據(jù)日志文件命名規(guī)則、時(shí)間顆粒度,以及當(dāng)前時(shí)間計(jì)算出當(dāng)前要輸出
的日志文件的文件名包括
小時(shí)字符串的計(jì)算方法為
ffi/c*60 + Mlfc*/c 服=-^-
60
分鐘字符串的計(jì)算方法為
上述公式中的HHC和MMC分別為當(dāng)前時(shí)間的小時(shí)數(shù)和分鐘數(shù),上述HH、 MM定義為取整。
所述的獲取得文件序列號(hào)的方法包括 a.令當(dāng)前文件的序列號(hào)為1;b.檢査該文件是否存在;
C.若存在,則判斷該文件大小是否大于閾值M;若不存在,則創(chuàng)建此文件; d.若文件大小小于閾值M,則輸出該文件;否則序列號(hào)增加l,并返回到b。 與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)包括
(1) 采用動(dòng)態(tài)思想,提供了一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,從時(shí)間的 角度描述每個(gè)日志文件,不僅提供了一種新的輸出日志文件的方法,而且便于按時(shí) 間快速定位日志,提高日志了檢索效率,為軟件系統(tǒng)運(yùn)行過程中的事件分析提供了 更快的定位途徑;
(2) 結(jié)合了回滾輸出日志文件中對(duì)每個(gè)文件大小進(jìn)行限制的思想,有效的防 止了文件過大引起輸出效率變低的可能,該方法在軟件系統(tǒng)的日志功能方面尚數(shù)首 創(chuàng)。


圖1是本發(fā)明一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法的流程圖。
具體實(shí)施例方式
以下結(jié)合具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明。
如圖l所示 一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,該方法包括
(1) 定義文件命名規(guī)則,在文件名中設(shè)置包含時(shí)間信息;
(2) 定義時(shí)間顆粒度,根據(jù)輸出日志的大小和輸出頻率,定義輸出日志文件 的顆粒度;
(3) 定義文件大小閾值,定義文件大小閾值M,每個(gè)輸出的日志文件大小不 能大于該值M;
(4) 獲得文件名和文件序列號(hào);
A.根據(jù)日志文件命名規(guī)則、時(shí)間顆粒度,以及當(dāng)前時(shí)間計(jì)算出當(dāng)前要輸出的 日志文件的文件名;
小時(shí)字符串的計(jì)算方法為分鐘字符串的計(jì)算方法為 MM =——^-^ * A: mod(60)
上述公式中的HHC和MMC分別為當(dāng)前時(shí)間的小時(shí)數(shù)和分鐘數(shù),上述HH、 MM定義為取整;
所述的獲取得文件序列號(hào)的方法包括
a. 令當(dāng)前文件的序列號(hào)為l;
b. 檢査該文件是否存在;
C.若存在,則判斷該文件大小是否大于閩值M;若不存在,則創(chuàng)建此文件; d.若文件大小小于閾值M,則輸出該文件;否則序列號(hào)增加l,并返回到b; B.若當(dāng)前輸出的日志文件大小超過閾值M,則創(chuàng)建新的文件,令其序列號(hào)加
1;
(5)輸出日志文件,將日志輸出到日志文件中。 實(shí)施例1
(1) 定義文件命名規(guī)則。日志文件名中含有時(shí)間信息,設(shè)其格式為 YYYYMMDDHHMM,例如2009年1月1日1時(shí)1分的格式為200901010101; 文件名中前綴和后綴字符串分別記作PRE和APP;文件名中的序列號(hào)記作SEQ。 設(shè)文件名格式為PRE||YYYYMMDDHHMMSS||SEQ||APP,其中||為傳統(tǒng)的二進(jìn)制字 符串連接符;
(2) 定義時(shí)間顆粒度。設(shè)每隔k分鐘創(chuàng)建新的日志文件,其中0<1^1440,即 創(chuàng)建文件的周期不超過一天,若k〉1440,對(duì)本方法進(jìn)行擴(kuò)展即可;
(3) 定義文件大小閾值。設(shè)日志文件大小閾值為M,其中MX);
(4) 獲得文件名。首先,根據(jù)當(dāng)前時(shí)間和所定義的時(shí)間顆粒度計(jì)算出文件名 中的時(shí)間字符串,具體計(jì)算方法如下-
7J7/c*60 + MMc*/i:
服=-^- (1)
60
MM =——^-^*A:mod(60) (2)
公式(1)和(2)中的HHC和MMC分別為當(dāng)前時(shí)間的小時(shí)和分鐘數(shù),其除 法這里定義為取整。假設(shè)當(dāng)前時(shí)間為13點(diǎn)49分,當(dāng)時(shí)間顆粒度k-5時(shí),HH=13,MM=45;當(dāng)時(shí)間顆粒度k420時(shí),HH=12, MM=0。 文件名中的序列號(hào)計(jì)算流程如下 令當(dāng)前文件的序列號(hào)為1; 檢査該文件是否存在;
若存在,則判斷該文件大小是否大于閾值M;若不存在,則創(chuàng)建此文件; 若文件大小小于閾值M,則輸出該文件,否則序列號(hào)增加l,返回到b)。 (5)輸出日志文件。將日志輸出到日志文件中。
權(quán)利要求
1.一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,其特征在于,該方法包括(1)定義文件命名規(guī)則,在文件名中設(shè)置包含時(shí)間信息;(2)定義時(shí)間顆粒度,根據(jù)輸出日志的大小和輸出頻率,定義輸出日志文件的顆粒度;(3)定義文件大小閾值,定義文件大小閾值M,每個(gè)輸出的日志文件大小不能大于該值M;(4)獲得文件名和文件序列號(hào);(5)輸出日志文件,將日志輸出到日志文件中。
2. 根據(jù)權(quán)利要求l所述的一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,其特征在于, 所述的獲得文件名和文件序列號(hào)包括a. 根據(jù)日志文件命名規(guī)則、時(shí)間顆粒度,以及當(dāng)前時(shí)間計(jì)算出當(dāng)前要輸出的 曰志文件的文件名;b. 若當(dāng)前輸出的日志文件大小超過閾值M,則創(chuàng)建新的文件,令其序列號(hào)加1。
3. 根據(jù)權(quán)利要求2所述的一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,其特征在于,所述的根據(jù)日志文件命名規(guī)則、時(shí)間顆粒度,以及當(dāng)前時(shí)間計(jì)算出當(dāng)前要輸出的日志文件的文件名包括小時(shí)字符串的計(jì)算方法為服c承60+ MMC服=-^-60分鐘字符串的計(jì)算方法為 層=叫*60 +層"^0《60)上述公式中的HHC和MMC分別為當(dāng)前時(shí)間的小時(shí)數(shù)和分鐘數(shù),上述HH、 MM定義為取整。
4. 根據(jù)權(quán)利要求l所述的一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,其特征在于, 所述的獲取得文件序列號(hào)的方法包括a. 令當(dāng)前文件的序列號(hào)為1;b. 檢査該文件是否存在;C.若存在,則判斷該文件大小是否大于閾值M;若不存在,則創(chuàng)建此文件; d.若文件大小小于閾值M,則輸出該文件;否則序列號(hào)增加l,并返回到b。
全文摘要
本發(fā)明涉及一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,該方法包括定義文件命名規(guī)則,在文件名中設(shè)置包含時(shí)間信息;定義時(shí)間顆粒度,根據(jù)輸出日志的大小和輸出頻率,定義輸出日志文件的顆粒度;定義文件大小閾值,定義文件大小閾值M,每個(gè)輸出的日志文件大小不能大于該值M;獲得文件名和文件序列號(hào);輸出日志文件,將日志輸出到日志文件中。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)包括采用動(dòng)態(tài)思想,提供了一種動(dòng)態(tài)按時(shí)間輸出日志文件的方法,從時(shí)間的角度描述每個(gè)日志文件,不僅提供了一種新的輸出日志文件的方法,而且便于按時(shí)間快速定位日志,提高日志檢索效率,為軟件系統(tǒng)運(yùn)行過程中的事件分析提供了更快的定位途徑。
文檔編號(hào)G06F11/34GK101645031SQ20091005423
公開日2010年2月10日 申請(qǐng)日期2009年6月30日 優(yōu)先權(quán)日2009年6月30日
發(fā)明者郝黎明 申請(qǐng)人:卡斯柯信號(hào)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
繁昌县| 大英县| 阳春市| 仪陇县| 平顺县| 崇阳县| 八宿县| 安宁市| 汉寿县| 富裕县| 万盛区| 额济纳旗| 凯里市| 宁阳县| 都昌县| 庐江县| 贡山| 永和县| 荥阳市| 谢通门县| 万全县| 扎赉特旗| 五原县| 缙云县| 江达县| 会同县| 太仓市| 克山县| 堆龙德庆县| 伊金霍洛旗| 罗源县| 三门县| 铜梁县| 桦川县| 塔城市| 江陵县| 湄潭县| 和林格尔县| 长阳| 洱源县| 镇巴县|