Log4net 多线程写入

来源:互联网 发布:sqlserver建表语句 编辑:程序博客网 时间:2024/05/19 23:03

问题描述: 系统经常出现log无缘无故的丢失,每次系统出问题时去查log时发现log没有,郁闷了好久。 今天搞了将近一天,终于搞定。


解决步骤:

  1. 写了个控制台程序,在while(true)里面调用log,编译后共享文件夹。
  2. 本机运行程序,log有信息。
  3. 在另一台机器运行程序,log没有,提示log文件被其他程序使用。原来log4net创建日志文件后,会一直占用此文件,其他程序不能写入。
  4. 老版本的log4net好像不支持多线程写入。于是下载log4net 1.2.11 版本的dll,并且appender中加<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  5. ok

解决方案总结:于是下载log4net 1.2.11 版本的dll,并且appender中加<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />,问题ok。


自己的一点感悟: 其实这个问题出现很久了,team的每个人都觉得很奇怪,但又没有真的下定决心去解决掉。对待这类问题,只有动手去模拟,写小程序去试验,问题才能解决。

原创粉丝点击