ASP.NET页面记日志的问题,文件老是被占用,如何解决?
应用场景是这样的,有个asp.net页面,当用户请求的时候,会记录到日志中,现在我的做法是直接写入到日志文件中。可问题来了,当用户并发量高的时候,日志文件老被占用,导致日志有部分写不进去。
我的想法是来一个请求的时候,把写日志操作插入线程池,用线程池来执行写文件操作。但是一想也不行,这样会把线程池占满,而线程池没处理完的时候,也会丢失一部分日志。
还有一个办法是丢入MSMQ,然后用另一个线程持续读取msmq写入日志。但是在这样太麻烦了。像log4net是怎么处理这个高并发请求日志的,请高人指点?