首先为什么会有多进程同时记录日志到同一个文件夹同一个文件里呢,每个项目肯定有每个项目的特殊性,我这里.net的BS项目,主要是因为在IIS里,应用程序池,最大工作进程设置成2,就会出现2个w3p什么的进程同时运行你的代码,设置成多个进程这样可以最大发挥服务器的性能。这样就会多进程同时往相同的地方写日志。网上搜的话,基本上都是说给配置文件里的锁定模型上设置成最小锁,这样多进程可以同时写同一个日志。
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
但这样写是可以写,但经常会丢失部分日志,尤其是日志文件满了需要滚动的时候,经常就把旧的文件给滚没了。尝试了更新到最新的log4net也不能解决。搜索有类似问题的log4j的大神自己修改源代码解决
https://blog.youkuaiyun.com/somechange/article/details/80895507
大概看了下log4net的源代码,也不敢瞎改呀。然后研究看官网文档看到这么一段: