• <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://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記錄。
            一本色综合久久| 久久99精品国产自在现线小黄鸭| 亚洲va久久久噜噜噜久久| 亚洲精品高清一二区久久| 日本强好片久久久久久AAA| 少妇熟女久久综合网色欲| 亚洲中文字幕无码一久久区| 国产精品久久久久蜜芽| 久久夜色精品国产噜噜噜亚洲AV| 青青热久久综合网伊人| 色诱久久av| 无码伊人66久久大杳蕉网站谷歌| 国产99久久精品一区二区| 国产农村妇女毛片精品久久| 人妻无码精品久久亚瑟影视| 一本一本久久A久久综合精品| 777久久精品一区二区三区无码| 要久久爱在线免费观看| 久久精品国产亚洲一区二区| 久久久久精品国产亚洲AV无码| 久久99精品国产99久久| 97久久国产综合精品女不卡| 欧美国产成人久久精品| 国产AⅤ精品一区二区三区久久| 久久精品国产精品亚洲| 久久国产乱子精品免费女| 无码任你躁久久久久久| 开心久久婷婷综合中文字幕| 久久精品蜜芽亚洲国产AV| 久久久亚洲裙底偷窥综合 | 久久亚洲高清综合| 国产精品一久久香蕉国产线看观看| 午夜视频久久久久一区 | AV无码久久久久不卡蜜桃| 久久精品国产亚洲7777| 精品久久久久久无码专区| 久久久国产精华液| 精品综合久久久久久97| 热99RE久久精品这里都是精品免费| 久久久久九九精品影院| 久久99精品国产99久久6|