2013-03-19 91 views
2

我已經在使用NLOG的AspNetBufferingWrapper包裝我的web.config以下目標擴展NLOG擴展AspNetBufferingWrapper不工作

<wrapper-target type="ASPNetBufferingWrapper" name="aspNetBuffer"> 
    <wrapper-target type="PostFilteringWrapper" name="postFilter" defaultFilter="level >= LogLevel.Debug"> 
     <target-ref name="logDB" /> 
     <when exists="level >= LogLevel.Warn" filter="level >= LogLevel.Trace" /> 
    </wrapper-target> 
    </wrapper-target> 

目標 - 裁判工作沒有包裝或其他包裝。 我有HTTP模塊的文檔建議

<httpModules> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 
    <add name="NLog" type="NLog.Web.NLogHttpModule, NLog.Extended" /> 
</httpModules> 

我把它與NLog.2.0.0.2000和NLog.Extended.2.0.0.2000一個MVC3項目配置。

我已經包括elmah模塊來指出該模塊正在工作。 搜索後我發現集成模式下的IIS 7使用system.webServer模塊。我注意到elmah模塊已經配置了這個部分,所以我包含了NLog.Extended。

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 
     <add name="NLog" type="NLog.Web.NLogHttpModule, NLog.Extended" preCondition="managedHandler" /> 
    </modules> 
    </system.webServer> 

好了,它不工作,以及...我已經激活追蹤模式時,內部NLOG記錄,我看到以下內容:

2013-03-19 16:06:58.2933 Trace Sending buffered events to wrapped target: PostFilteringWrapper Target[postFilter](AsyncWrapper Target[logDB](Database Target[logDB_wrapped])). 
2013-03-19 16:06:58.2933 Trace Running PostFilteringWrapper Target[postFilter](AsyncWrapper Target[logDB](Database Target[logDB_wrapped])) on 0 events 
2013-03-19 16:06:58.3053 Trace Filter to apply: (level >= Debug) 
2013-03-19 16:06:58.3053 Trace After filtering: 0 events. 

我不記得自己能做什麼/搜索。我錯過了什麼嗎?

回答

0

僅寫入AsyncWrapper的日誌文件的原因是因爲您的ASPNetBufferingWrapperAsyncWrapper具有相同的名稱。另外你的文件目標也有相同的名字。

但看你的配置文件時,這隻能被看見,http://pastebin.com/3cP83PWaNLog issues page

貼如果你的目標有唯一的名字這兩個文件將被寫入。