首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Log4Net RollingFileAppender生成重复的日志

Log4Net RollingFileAppender生成重复的日志
EN

Stack Overflow用户
提问于 2012-05-18 00:29:05
回答 2查看 2.6K关注 0票数 2

我有一个运行在单个服务器上的WCF服务,使用Log4net通过INFO和WARN级别日志条目来跟踪使用情况。使用具有以下非常标准配置的RollingFileAppender:

代码语言:javascript
复制
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="\\mylocation\data\PRD\myApp\MyService"/>
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="-yyyy-MM-dd'.log'" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
   <root>
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender" />
      <appender-ref ref="ADONetAppender_SqlServer" />
    </root> 

我还使用了ADONetAppender,它接收重定向的“警告”级数据,并通过存储过程将其写入SQL server中的DB表。这个配置有点长,为了可读性,我省略了它。

我在我们的Dev和TST环境中有了这个设置,在那里它运行得很好。在PRD环境中,似乎会生成重复的日志文件。第一个是根据我指定的模式命名的,即"logfile-yyyy-mm-dd.log“。第二个文件看起来像是对第一个文件的补充,日期模式是重复的,即"logfile-yyyy-mm-dd.log.-yyyy-mm-dd.log“。

更有趣的是,这两个文件中包含的条目在时间上重叠。文件1可能具有从上午8点到12点的条目,而文件2也将包含同一时间段的条目。这些条目不是重复的,它们是由服务的不同用户生成的。文件1和文件2的副本几乎可以是任何大小,因此这不是达到大小或日期/时间阈值并生成下一个所需日志文件的问题。

DB表条目包含所有预期的行,其中一些包含在每个日志文件中。这些行仅由WARN级别日志记录生成,并且每个日志文件中都会出现一些WARNings。

我从我们商店的一些精通log4net的人那里发现了这一点,但没有人知道是什么原因导致了这种重复文件行为。感谢来自Stackland的任何想法。

EN

Stack Overflow用户

发布于 2014-01-15 19:26:30

我发现,当正在登录的文件被另一个线程或进程锁定时,就会发生这种情况。

我假设Log4Net创建了另一个文件,因为它不能记录到已配置的日志文件中,因此创建了一个新文件并记录到该文件中,但我必须查看log4net代码才能确定这一假设。

尝试添加

代码语言:javascript
复制
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

添加到附加器元素,以最大限度地减少锁定量。只需注意,使用MinimalLock:http://logging.apache.org/log4net/release/sdk/log4net.Appender.FileAppender.MinimalLock.html会带来额外的开销

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10639682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档