项目中的WCF服务里采用Log4Net用来记录异常日志,但部署后,生成的日志会出现多个累加文件,如下图:
WCF是寄宿在IIS上,包含了5个SVC服务。打开日志文件,发现记录的引发异常的Thread ID都不一样,猜测是多线程读写日志文件,
配置信息里指定文件的被占用后,重新建立了新的日志文件,删除日志文件也会出现警告信息:
解决方法:
在appender节点里添加:
lockingModel 属性的详细信息可看 中的描述。
很不解的是:type中 FileAppender+MinimalLock 为何要用 '+' 来做连接符,换成'.'的时候却不行。
完整Log4Net配置信息: