84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
写了一个异步服务器,用于处理网站的非实时性请求。目前每秒约写入10-100条日志,高峰时期可能写入约1000条日志。
我能想到的关于日志文件处理方法有下面几种,请问一般是如何实现的呢?
方法一: 每次写日志时获得文件句柄,写入后关闭。
方法二: 句柄作为单例,存在与整个程序生命周期,只有程序结束时才关闭。
方法三: 句柄作为单例,存在与整个程序生命周期,定期关闭重新打开。
闭关修行中......
工程上实际使用过方法三,可能我的需求跟你的有些不同。我的日志的写频度一般情况下不会超过10条/秒,但是日志文件需要按天保存,定期删掉旧文件(保存近7天的日志等等),所以定期关闭是必须的~
方法二,在出错的时候才重新尝试打开句柄
问一下,在windows 2008 下,日志句柄如果打开,那么 无法复制删除。 这个很是烦恼,我希望可以随时很方便的查看日志句柄。不知道 第一种 打开 关闭 频率很高,对程序 硬盘IO 性能影响怎样。
暂时还没有使用log4cpp cplus 的日志系统,不知道他们 是怎样的设计!
工程上实际使用过方法三,可能我的需求跟你的有些不同。我的日志的写频度一般情况下不会超过10条/秒,但是日志文件需要按天保存,定期删掉旧文件(保存近7天的日志等等),所以定期关闭是必须的~
方法二,在出错的时候才重新尝试打开句柄
问一下,在windows 2008 下,日志句柄如果打开,那么 无法复制删除。
这个很是烦恼,我希望可以随时很方便的查看日志句柄。不知道 第一种 打开 关闭 频率很高,对程序 硬盘IO 性能影响怎样。
暂时还没有使用log4cpp cplus 的日志系统,不知道他们 是怎样的设计!