2011-01-31 116 views
1

我有以下log4net的配置日誌事件在一個單獨的log4net的日誌

<log4net debug="true"> 
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="Logs\\CurrentLog.txt"/> 
     <appendToFile value="true"/> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/> 
     </layout> 
    </appender> 
    <root> 
     <priority value="ALL"/> 
     <appender-ref ref="RollingLogFileAppender"/> 
    </root> 
    </log4net> 

是否有可能記錄來自不同的程序集的事件在不同的文件?例如,從

Castle.Facilities.NhibernateIntegration

消息如果沒有,是否有過濾事件的更好的辦法?
我不想將流限制爲只有錯誤。

+0

您是不是要找顯示滾動文件附加器或事件日誌引用它追加程序?你有兩種混合配置。我刪除了事件日誌的東西。 – 2011-06-16 03:28:24

回答

0

記錄儀可以通過它們的名稱進行配置。如果您遵循log4net的做法,您的記錄器將按其完整名稱Namespace.TypeName命名。您可以通過兩種方式將appender分配給記錄器。

首先是嵌入特殊附加器直接

<logger name="Castle.Facilities.NhibernateIntegration"> 
    <level value="INFO" /> 
    <appender name="CastleNhIntegrationAppender" type="..."> 
     <!-- put the full appender configuration here --> 
    </appender> 
</logger> 

或者定義的appender和記錄器

<appender name="CastleNhIntegrationAppender" type="..."> 
    <!-- put the full appender configuration here --> 
</appender> 

<logger name="Castle.Facilities.NhibernateIntegration"> 
    <level value="INFO" /> 
    <appender-ref ref="CastleNhIntegrationAppender" /> 
</logger>