【问题标题】:Need to understand Log4Net Configuration section WebForm需要了解 Log4Net 配置部分 WebForm
【发布时间】:2014-10-18 23:40:03
【问题描述】:

我正在考虑将 Log4Net 用于我们在 asp.net 中的 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)为什么 &lt;bufferSize value="0" /&gt; 设置为 0 ?什么时候应该将其他值设置为 bufferSize 属性?

2) &lt;connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt; 我怎么知道我需要使用什么PublicKeyToken 值。

3) 连接字符串auto&lt;connectionString value="{auto}" /&gt;是什么意思?

4)

conversionPattern

是什么意思

5 什么是 ExceptionLayout &lt;layout type="log4net.Layout.ExceptionLayout" /&gt;

6) 下面的xml是什么意思

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

RollingFileAppender 是什么? DbAppender 是什么?

请讨论我的每个观点和问题。谢谢

【问题讨论】:

标签: asp.net log4net


【解决方案1】:

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

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

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

4/List of conversion patterns

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

6/ FileAppender -> 记录到文件。 RollingFileAppender -> 使用旋转日志记录到文件(最多 N 个长度为 L 的文件,然后将它们删除)。 DbAppender -> 登录到数据库,这就是为什么会有一个连接字符串。

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

【讨论】:

  • log4net 有自己的论坛,我可以在那里提问?
  • 是什么意思?你能帮我理解这一点吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2013-04-09
  • 2015-01-14
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多