• <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記錄。
            亚洲国产成人久久综合一| 亚洲伊人久久成综合人影院| 国产精品一区二区久久不卡| 久久综合噜噜激激的五月天| 香港aa三级久久三级| 久久一区二区三区免费| 一本色道久久综合亚洲精品| 精品久久8x国产免费观看| 久久91这里精品国产2020| 久久香综合精品久久伊人| 久久精品国产91久久麻豆自制| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 伊人色综合久久天天人守人婷| 97香蕉久久夜色精品国产| 国产精品免费看久久久| 久久久午夜精品福利内容| 大伊人青草狠狠久久| 中文字幕无码久久人妻| 999久久久国产精品| 成人国内精品久久久久一区| 久久免费视频1| 青草久久久国产线免观| 99久久婷婷国产综合精品草原| 人妻无码αv中文字幕久久| 国产精品久久久久久五月尺| 久久精品视屏| 久久久久人妻精品一区三寸蜜桃| 99久久精品毛片免费播放| 国产偷久久久精品专区 | 精品久久久久久久久久中文字幕 | 青青草原综合久久| 精品熟女少妇a∨免费久久| 久久久亚洲欧洲日产国码是AV | 狠狠色综合网站久久久久久久| 国产精品美女久久久m| 久久久久亚洲精品无码蜜桃| 亚洲精品午夜国产VA久久成人 | 日韩精品国产自在久久现线拍| 欧美午夜精品久久久久免费视 | 狠狠色婷婷久久一区二区| 亚洲综合日韩久久成人AV|