需要了解Log4Net Configuration部分的WebForm

时间:2014-10-18 15:24:14

标签: asp.net log4net

我正在考虑在asp.net中使用Log4Net作为我们的webform应用程序。所以我检查了一些文章,但我看到所有文章没有说关于配置的每个属性。

所以我道歉,我必须在这里粘贴一下大的配置部分并找一些可以帮助我理解每个属性用法的人。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <appender name="DbAppender" type="log4net.Appender.ADONetAppender">
      <bufferSize value="0" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="{auto}" />
      <commandText value="INSERT INTO Log4Net ([date],[thread],[level],[logger],[message],[exception]) VALUES 
         (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%t" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level" />
        <dbType value="String" />
        <size value="10" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%p" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="1000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%c" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%m" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@exception" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.ExceptionLayout" />
      </parameter>
    </appender>

    <root>
      <level value="INFO" />
      <appender-ref ref="RollingFileAppender" />
      <appender-ref ref="DbAppender" />
    </root>
  </log4net>
</configuration>

请参阅上面的配置详情并回答每个属性。 1)为什么<bufferSize value="0" />设置为0?什么时候应该将其他值设置为bufferSize属性?

2)<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 我怎么知道我需要使用的PublicKeyToken值。

3)连接字符串auto <connectionString value="{auto}" />是什么意思?

4)             

conversionPattern

的含义是什么?

5什么是 ExceptionLayout <layout type="log4net.Layout.ExceptionLayout" />

6)以下xml

的含义是什么
<root>
  <level value="INFO" />
  <appender-ref ref="RollingFileAppender" />
  <appender-ref ref="DbAppender" />
</root>

什么是RollingFileAppender? 什么是DbAppender

请讨论我的每一点和&amp;题。感谢

1 个答案:

答案 0 :(得分:0)

1 / bufferSize <= 1表示没有缓冲。日志立即写入数据库。 http://logging.apache.org/log4net/release/sdk/log4net.Appender.BufferingAppenderSkeleton.BufferSize.html

2 / PublicKeyToken与Log4net无关。有一个look。保留给定的令牌。

connectionString中的

3 / {auto}似乎是自定义代码,可能来自here

4 / List of conversion patterns

5 /异常布局:仅记录日志记录事件中的异常文本。 http://logging.apache.org/log4net/release/sdk/log4net.Layout.ExceptionLayout.html

6 / FileAppender - &gt;登录到文件。 RollingFileAppender - &gt;使用旋转日志记录到文件(长度为L的最多N个文件,然后将其删除)。 DbAppender - &gt;登录到数据库,这就是为什么有一个connectionString。

更多信息:http://logging.apache.org/log4net/release/config-examples.html