2016-07-20 5 views
0

Log4Netとの間で良い関係ができません。私はこの例のようにpost を追跡しました。違いは、私の場合、WebDriverとWeb要素(FrameworkProject)と対話するすべてのオブジェクトを持つ2つの別々のプロジェクトがあり、2番目が実際のテストプロジェクト(TestProject)です。SpecFlowテストを実行しているときにSelenium FrameworkでLog4Netが動作しない

<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テストをデバッグすると:私はたくさん読んでいると私は私がそれを正しく設定されているほとんど確信している... FrameworkProjectアセンブリファイルは[assembly: log4net.Config.XmlConfigurator(Watch = true)]

マイLog4Net.configファイルは以下の通りである含み私はラインXmlConfigurator.Configure();に達する私はまだこれが今私が怒っ低下し、私は間違っているかもしれないものの見当もつかない

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

を取得しています(上記の例を見て)。これがテストの実行の原因になりますか?注:私はONLY FrameworkProject

答えて

1

log4netを設定している私は、唯一の問題だ

FrameworkProject

で設定log4netのしています。おおよそテスト実行中のあなたの "エントリーポイント"は テストプロジェクトですので、 "エントリーポイント"のアプリケーション構成ファイル(テストプロジェクト app.config)の内部に log4net構成セクションがあります。したがって、 log4net設定をプロジェクトのアプリケーション設定ファイルのテストに移動する必要があります。 12:あなたはアセンブリレベルの属性を使用する場合は XmlConfigurator.Configureを呼び出す必要はありませんように第二の通知で

は、それが見えます。

+0

なぜ、私はちょうど早くそれをやろうとしなかったのか分かりません...とにかく、あなたが提案したとおりにしました。私は、私のApp.configファイルにlog4netセクションをコピーしました。アセンブリに構成を追加しました。今、私がそれを実行すると何も起こりません... – Jakubee

+0

[assembly:...]ステートメントは、エントリポイントプロジェクトで必要です –

+0

これは動作しています。グーグルでやってもらわなければならなかった...また、lib.iniファイルが実際にlib \ debugフォルダに作成されているのに気付かなかった...私はこれを解決策として、正しい方向に向ける。ありがとう! – Jakubee

関連する問題