2017-01-05 10 views
0

プロジェクトをデバッグモードでビルドすると、log4netが機能するため、ログファイルが作成され、期待どおりに書き込まれます。しかし、プロジェクトをリリースモードでビルドし、プロダクションサーバにファイルをコピーすると、log4netはログファイルを作成したり書き込んだりしません。プロジェクトがリリースビルドに設定されているとlog4netが機能しません

私がデバッグモードを使用してファイルをコピーすると、log4netは運用サーバーで動作します。

私は内部デバッグを有効にしました。リリースモードで実行している場合、内部ログファイルには次の情報が表示されます。

log4net:アセンブリ[WebAPI、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null]にRepositoryAttributeが指定されていません。

WebConfigのファイル:私はリリースモードでビルドする際の作業にlog4netを取得するにはどうすればよい

<log4net debug="true"> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <param name="File" value="webapi.log" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="2" /> 
     <maximumFileSize value="1MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />  
     </layout> 
    </appender> 
    <root> 
     <level value="ALL" /> 
     <appender-ref ref="LogFileAppender" /> 
    </root> 
    </log4net> 
    <system.diagnostics> 
    <trace autoflush="true"> 
     <listeners> 
     <add 
      name="textWriterTraceListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="appTrace.txt" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 

? WebAPIのプロジェクトのAssemblyInfo.csに:[RepositoryAttribute( "Your.Namespace.Here")アセンブリ]を追加

+0

リリースビルドはローカルで動作しますか? – stuartd

+0

どのようにブートストラップlog4net設定ファイルですか?アセンブリ属性または明示的な設定負荷を使用していますか? – RajN

+0

私のStartup.csファイルには次のようなものがあります。[assembly:log4net.Config.XmlConfigurator(Watch = true)] – obautista

答えて

0

してみてください。

関連する問題