2016-07-20 46 views
0

我在Log4Net上苦苦掙扎了好一會兒。作爲一個例子,我遵循這個post 。不同的是,在我的情況下,我有兩個單獨的項目,其中一個包含與WebDriver和Web元素交互的所有對象(FrameworkProject),其次是實際測試項目(TestProject)。我已經閱讀了很多,我幾乎可以肯定我已經正確設置它... FrameworkProject彙編文件包括[assembly: log4net.Config.XmlConfigurator(Watch = true)]運行SpecFlow測試時,Log4Net在Selenium框架中無法正常工作

Log4Net.config文件如下:

<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 

    <log4net> 
    <root> 
     <level value="ALL" /> 
     <appender-ref ref="MyAppender" /> 
     <appender-ref ref="MyFileAppender" /> 
    </root> 
    <appender name="MyAppender" type="log4net.Appender.ConsoleAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <appender name="MyFileAppender" type="log4net.Appender.FileAppender"> 
     <file value="application.log" /> 
     <appendToFile value="true" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    </log4net> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 

</configuration> 

當調試我SpecFlow測試和我到達線XmlConfigurator.Configure();(看上面的例子),我仍然得到

log4net:ERROR Failed to find configuration section 'log4net' in the application's. 

這滴我現在瘋了,我不知道什麼可能是錯誤的線索。這可能是運行測試的原因?注:我已經設置了log4netFrameworkProject

回答

1

我已經log4net的設置只在FrameworkProject

這就是問題所在。粗略地說,測試執行期間的「入口點」是測試項目,因此它正在尋找「入口點」應用程序配置文件(測試項目的app.config)內的log4net配置部分。因此,您應該將您的log4net配置移動到測試項目的應用程序配置文件。


在第二次通知,它看起來像你不需要調用XmlConfigurator.Configure,如果你使用匯編級屬性:12

+0

好吧,我不知道爲什麼我只是沒有試圖做到這一點...無論如何,我按你的建議。我已將log4net部分複製到我的App.config文件中。向配件添加了配置。現在,當我運行它時,什麼也沒有發生...... – Jakubee

+0

在入口點項目中需要[assembly:...]語句 –

+0

得到了這個工作。必須做更多的搜索...另外,我沒有注意到application.log文件實際上是在lib \ debug文件夾中創建的......我將其標記爲解決方案,因爲它指向了正確的方向。謝謝! – Jakubee

相關問題