Asp.net

為什麼 Log4Net 不在生產環境中創建日誌文件?

  • October 2, 2018

我正在使用 VS2005,一個網站項目,一個 Web 部署項目和 Log4Net。我在本地開發時可以使用日誌記錄。我可以看到日誌文件,一切都很好。當我建構我的網站時(使用 web 部署項目),我將部署用作單個 DLL 選項。然後,當我檢查日誌文件的位置時,我看不到任何文件。

有沒有辦法解決這個問題。我不認為將調試值添加到應用程序設置會有所幫助,因為我沒有控制台,因為它是一個網站。

編輯 我不希望最後一次浪費 150 個代表。我將開發環境的內部跟踪與生產環境的跟踪進行了比較。我的開發環境跟踪顯示了對 Xml 配置器的呼叫,而生產環境則沒有。我在 application_start() 方法的 global.asax 中有程式碼。我把調試程式碼放在那裡,它在開發中被呼叫,但在生產中沒有。

我認為這是 Web 部署項目引起一些問題的地方。global.asax 是否被編譯到單個 DLL 中?當我在部署目錄中進行建構時,我看到了一個 global.compiled 文件。這必須進入生產中的 bin 文件夾嗎?還是單個 DLL 中的 global.asax 程式碼?在 bin 文件夾中或僅在 DLL 中都沒有改變任何東西。

工作程序是否有足夠的權限寫入日誌目錄?我猜情況並非如此。您可能希望授予工作程序組寫入目錄的權限,看看是否能解決您的問題。

在 AssemblyInfo.cs 文件中添加它並檢查

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

引用自:https://stackoverflow.com/questions/1316039