写了一个异步服务器,用于处理网站的非实时性请求。目前每秒约写入10-100条日志,高峰时期可能写入约1000条日志。
我能想到的关于日志文件处理方法有下面几种,请问一般是如何实现的呢?
方法一: 每次写日志时获得文件句柄,写入后关闭。
方法二: 句柄作为单例,存在与整个程序生命周期,只有程序结束时才关闭。
方法三: 句柄作为单例,存在与整个程序生命周期,定期关闭重新打开。
闭关修行中......
工程上實際使用方法三,可能我的需求跟你的有些不同。我的日誌的寫頻度一般情況下不會超過10條/秒,但是日誌檔案需要按天保存,定期刪掉舊文件(保存近7天的日誌等等),所以定期關閉是必須的~
方法二,出錯的時候才重新嘗試開啟句柄
問一下,在windows 2008 下,日誌句柄如果打開,那麼 無法複製刪除。 這個很是煩惱,我希望可以隨時很方便的查看日誌句柄。不知道 第一種 開啟 關閉 頻率很高,對程式 硬碟IO 效能影響如何。
暫時還沒有使用log4cpp cplus 的日誌系統,不知道他們 是怎樣的設計!
工程上實際使用方法三,可能我的需求跟你的有些不同。我的日誌的寫頻度一般情況下不會超過10條/秒,但是日誌檔案需要按天保存,定期刪掉舊文件(保存近7天的日誌等等),所以定期關閉是必須的~
方法二,出錯的時候才重新嘗試開啟句柄
問一下,在windows 2008 下,日誌句柄如果打開,那麼 無法複製刪除。
這個很是煩惱,我希望可以隨時很方便的查看日誌句柄。不知道 第一種 開啟 關閉 頻率很高,對程式 硬碟IO 效能影響如何。
暫時還沒有使用log4cpp cplus 的日誌系統,不知道他們 是怎樣的設計!