说到写文件,开源项目log4net对于.NET程序员来说恐怕是无人不知,本人一直想写一个性能高效的日志组件,但能力有限,因此来向大家学习,还望各位仁兄不吝赐教。
小弟写了一个简单的写文件的组件,经测试可以支撑5000的并发量(5000线程同时写同一个文件),再大的没测试,因为5000已经把CPU几乎沾满了。
贴出全部代码供大家探讨。
项目很简单,包含4个类:
FileAppender 基础类,提供写文件操作(私有)
IOLock 对读写线程锁的封装(私有)
Logger 对外提供写文件入口(公开)
Log 只是一个使用Logger的案例(公开)
代码请看博文:
CSDN:
http://blog.csdn.net/sq_zhuyi/archive/2011/02/25/6207970.aspx
博客园:
http://www.cnblogs.com/sqzhuyi/archive/2011/02/25/io.html
完整代码下载:
http://files.cnblogs.com/sqzhuyi/Zhuyi.IO.rar