log4net重复条目

时间:2012-07-31 15:02:51

标签: log4net

我是log4net的新手并且正在阅读和阅读,并且不知道我的问题是什么。 这是配置:

<root>
  <level value="DEBUG" />
  <appender-ref ref="AdoNetAppender"/>
</root>

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <connectionString value="Server=XXXXX;Database=XXX;Network=XXXXX;User ID=XXXXX;Password=XXXXX" />
  <commandType value="StoredProcedure" />
  <commandText value="dbo.LogWrite" />
  <parameter>
    <parameterName value="@LogDate" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
  <parameter>
    <parameterName value="@LogLevel" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout" value="%level" />
  </parameter>
  <parameter>
    <parameterName value="@Logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout" value="%logger" />
  </parameter>
  <parameter>
    <parameterName value="@UserID" />
    <dbType value="Int32" />
    <layout type="log4net.Layout.PatternLayout" value="%property{UserID}" />
  </parameter>
  <parameter>
    <parameterName value="@Message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout" value="%message" />
  </parameter>
  <parameter>
    <parameterName value="@Exception" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.ExceptionLayout"/>
  </parameter>
</appender>

当我进入.NET页面并在Page_Load中执行此语句时:

log.Error("hi")

我将此错误作为数据库表中的条目。但是如果我再次快速地访问这个页面,我总共得到3个条目?它表明,如果我在重新加载页面之前等待~10秒,我只能再获得一个条目。我已将buffersize设置为1.任何有同样问题的人?社区的大多数人倾向于说,如果有问题,那么最有可能是你的配置,但对我来说,我的配置看起来很好。

非常感谢任何能为此做出光明照射的人!

//丹尼尔

1 个答案:

答案 0 :(得分:1)

Log4Net可能正常工作。它正在记录正在发生的事情。

你需要弄清楚为什么Page_Load在你不期望的时候正在执行。