プロジェクトをデバッグモードでビルドすると、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")アセンブリ]を追加
リリースビルドはローカルで動作しますか? – stuartd
どのようにブートストラップlog4net設定ファイルですか?アセンブリ属性または明示的な設定負荷を使用していますか? – RajN
私のStartup.csファイルには次のようなものがあります。[assembly:log4net.Config.XmlConfigurator(Watch = true)] – obautista