• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Creative Commons License
            本Blog采用 知識共享署名-非商業性使用-禁止演繹 3.0 Unported許可協議 進行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點遷移至:http://www.yulefox.com。請訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            日志該這么記錄

            Posted on 2008-10-10 04:18 Fox 閱讀(1829) 評論(8)  編輯 收藏 引用

            作者:Fox

            本文同時發布在http://www.yulefox.comhttp://www.shnenglu.com/fox

            兩個多月之前,在CPPBLOG上寫過一篇關于游戲開發中的問題,主要該考慮的問題都已經說明,當時沒有實現這一塊。在最近一個模塊中,寫了一個非常簡單的寫日志的接口,接口的聲明大概是:

            void PutoutLog(const char *szFile, const char *szLog, ...);

            記錄的日志格式如下:

            1  2008-10-10-03:30:10.618 | projectpath/srcfile.cpp/function(30) : 哦嚯, 這兒出錯了(eno : 0x00100000).

            用到了__FILE__、__LINE__、__FUNCTION__幾個宏。

            基本滿足需要了,需要改進的地方我現在能想到的主要是:

            • 文件名是全路徑,沒有必要,只記錄文件名稱其實就夠了;
            • 沒有考慮寫日志時的線程同步問題;
            • 系統dump時的日志還是沒有辦法記錄;
            • 缺少足夠的、動態的上下文信息:調用堆棧、函數參數、系統運行參數;
            • 日志記錄到普通文本中,雖然記錄了時間、位置,還是不便于系統查看、查找、分析、挖掘。

            說白了,這所謂的基本滿足需要只是皮毛,因為最近在打理,有感于網頁數據庫技術的博大精深、美妙直觀,如果可以把日志用網頁數據庫作為讀寫的載體,豈不甚妙?

            隱約中感覺這種想法似曾相識,不識字只好亂翻書,果然在中發現有這樣一篇文章:一個基于HTML的日志和調試系統。有興趣的同學自己翻書吧:)。

            如果將更加豐富的信息寫入xml或php文件中,加入到數據庫,可以對數據進行分析、挖掘,并友好的顯示在瀏覽器中,這對于枯燥的debug過程,起碼增添了些許益處。

            然而,這又只是一個想法,或許在我手頭上的工作稍后告一段落的時候,我可以花精力研究一下這方面的東西。

            Feedback

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 09:21 by 四佰cc
            你可以看看bekely db 記錄log應該不錯

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 09:28 by www.helpsoff.com.cn
            最好還是保留全路徑吧,系統龐大的時候總會有同名文件的。

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 14:25 by 阿福
            const void PutoutLog(const char *szFile, const char *szLog, ...) const;

            請問在一個C函數的兩頭加上const是什么意思?
            你的意圖是什么?

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 14:55 by Fox
            @阿福
            這個是成員函數,所以后面加了;這兒沒有上下文,去掉更好理解了。
            前面加是筆誤:)。

            # re: 日志該這么記錄[未登錄]  回復  更多評論   

            2008-10-10 16:35 by
            看看這個怎樣?

            http://www.shnenglu.com/wish/archive/2008/08/30/60310.html

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 20:36 by 空明流轉
            我還是等某個log庫成功進入boost再說吧。。。

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-10 20:43 by dikatour
            我覺得簡單一點比較好。
            展現形式并不一定要花哨,反而如何選擇合適的日志記錄點和時機比較重要。少則不全,多則冗余。

            # re: 日志該這么記錄  回復  更多評論   

            2008-10-16 17:58 by 浪跡天涯
            log,我覺得關鍵的有這幾點:
            1.記錄信息規范,便于自己調試同時也便于現場人員發現問題。
            2.在多線程下的問題,確保log正確無誤,不能丟失。以前多線程下程序調試不對,檢查n久才懷疑到日志系統的問題,莫名其妙的丟了許多log記錄。
            久久国产视屏| 久久99国产精品久久99果冻传媒| 日韩久久久久久中文人妻 | 久久一区二区免费播放| 国内精品久久久久久久影视麻豆| 久久99热这里只有精品国产| 热RE99久久精品国产66热| 无码超乳爆乳中文字幕久久| 香蕉久久av一区二区三区| 国产AⅤ精品一区二区三区久久| 亚洲国产天堂久久综合| 狠狠色丁香久久婷婷综合五月| 国产精品欧美亚洲韩国日本久久| 国产精品久久新婚兰兰| 久久久精品免费国产四虎| 久久九九兔免费精品6| 99久久精品费精品国产| 麻豆成人久久精品二区三区免费| 亚洲国产成人久久精品动漫| 欧美亚洲国产精品久久| 人妻中文久久久久| 精品久久久久久久久中文字幕| 中文字幕精品久久| 亚洲国产天堂久久综合网站| 99蜜桃臀久久久欧美精品网站 | 亚洲精品乱码久久久久久蜜桃| 9久久9久久精品| 77777亚洲午夜久久多喷| 欧美亚洲日本久久精品| 精品综合久久久久久88小说| 日韩亚洲欧美久久久www综合网| 久久久久久国产精品无码超碰| 亚洲性久久久影院| 久久久噜噜噜久久中文字幕色伊伊| 99久久免费国产精精品| 国内精品久久久久影院一蜜桃| 精品国产99久久久久久麻豆| 久久受www免费人成_看片中文| 亚洲七七久久精品中文国产| 中文字幕成人精品久久不卡| 青青青国产成人久久111网站|