• <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 閱讀(1843) 評論(8)  編輯 收藏 引用

            作者:Fox

            本文同時發布在http://www.yulefox.comhttp://m.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://m.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記錄。
            日本久久久精品中文字幕| 人妻无码精品久久亚瑟影视| 精品无码久久久久久午夜| 青青青国产成人久久111网站| 国产AV影片久久久久久| 亚洲色大成网站WWW久久九九| 久久精品国产半推半就| 久久久久亚洲AV成人网人人网站| 精品国产乱码久久久久久1区2区 | 亚洲国产成人久久一区久久| 欧洲人妻丰满av无码久久不卡 | 欧美性大战久久久久久| 欧美牲交A欧牲交aⅴ久久| 久久中文字幕无码专区| 成人久久综合网| 久久综合给久久狠狠97色| 日本久久久久久久久久| 狠狠色综合久久久久尤物| 国产精品久久影院| 久久国产劲爆AV内射—百度| 久久这里有精品视频| 国产精品免费久久| 国产精品久久久久一区二区三区| 奇米综合四色77777久久| av色综合久久天堂av色综合在| 久久精品一区二区影院| 99久久婷婷国产综合精品草原| 狠色狠色狠狠色综合久久| 国产综合久久久久| 久久福利青草精品资源站| 97久久精品无码一区二区天美| 精品久久久久久久久午夜福利| 久久亚洲美女精品国产精品| 综合久久国产九一剧情麻豆| 一本一道久久综合狠狠老| av色综合久久天堂av色综合在| 成人久久免费网站| 国产亚洲精品美女久久久| 日本精品久久久久中文字幕| 久久国产成人| 久久精品国产免费观看|