2014-10-18 37 views
0

我正在考慮將Log4Net用於我們在asp.net中的webform應用程序。所以我檢查了這篇文章的一些文章,但我看到所有文章不是說每個屬性關於配置。需要了解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

請討論一下我的每個問題&的問題。謝謝

+0

http://logging.apache.org/log4net/release/manual/configuration.html – CodeCaster 2014-10-18 15:37:45

+0

@CodeCaster:感謝 – Thomas 2014-10-18 15:38:44

回答

0

1/bufferSize <= 1意味着沒有緩衝。日誌會立即寫入數據庫。 http://logging.apache.org/log4net/release/sdk/log4net.Appender.BufferingAppenderSkeleton.BufferSize.html

2/PublicKeyToken與Log4net不相關。有一個look。保持給定的標記。

3 /中的connectionString {auto}似乎是自定義代碼,也許從here

4/List of conversion patterns採取

5 /異常佈局:只從記錄事件中的異常文本將被記錄。 http://logging.apache.org/log4net/release/sdk/log4net.Layout.ExceptionLayout.html

6/ FileAppender - >登錄到文件。 RollingFileAppender - >使用旋轉日誌記錄文件(長度爲L的最多N個文件,然後將其擦除)。 DbAppender - >登錄到數據庫,這就是爲什麼有一個connectionString。

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

+0

log4net的有自己的論壇,在這裏我可以問問題嗎? – Thomas 2014-10-18 15:46:10

+0

是什麼意思?你能幫助我理解這一點嗎?謝謝 – Thomas 2014-10-18 15:54:21