2010-11-01 84 views
1

我目前正在編寫一個非常大的項目,我接近開發階段的末尾,並向用戶發送了一個評估版本,以便他可以檢查錯誤以及哪些不是。 他告訴我,每次應用程序啓動時都會創建一個大型的日誌文件。 經過一番調查後,我發現日誌文件是使用log4net通過我在我的應用程序中使用的外部DLL創建的。 我已經搜索了一下,發現你可以通過app.config文件禁用log4net日誌並在那裏添加幾個值,我試過但沒有成功,無論我在xml配置文件中使用哪個值,都會創建日誌。log4net禁用問題

我無法訪問外部DLL源代碼,並且我搜索了DLL使用的xml配置文件 - 但沒有找到任何東西。

我想完全禁用log4net,因爲我使用我自己的日誌引擎,我可以根據需要配置任何方式,日誌對我來說是無用的。

感謝您的幫助

+0

log4net也可以使用應用程序配置文件(web.config或.exe.config)。因此,請檢查其中是否存在log4net部分。我非常好奇記錄如何發生,而不是指定要寫入的文件。 – VinayC 2010-11-01 08:26:10

回答

0

當您呼叫log4net時,您可以指定配置文件。 檢查應用程序中的log4net初始化以查看其獲取說明的位置。

另一種方法是將log4net配置爲使用Windows事件日誌而不是文件並配置對日誌大小的限制。

+0

問題是log4net的調用不在我的代碼中,它在外部DLL中,我沒有訪問其源代碼 – user475680 2010-11-01 07:04:09

0

您可以指定log4Net使用的配置文件;默認情況下它被命名爲log4net.config

如果不是這種情況,我會建議啓動Process Monitor來檢查它正在使用哪個文件。

[BTW,我會有些好奇使用我沒有控制權第三方DLL。]

+0

將與Process Monitor進行檢查。我完全信任DLL的作者,所以我並不擔心缺乏控制。我如何指定log4net使用的配置文件而不訪問創建實例的代碼? – user475680 2010-11-01 07:09:35

+0

我檢查過程監視器,但無法找到任何調用log4net.config文件或這種性質的東西,只有調用打開log4net.dll – user475680 2010-11-01 07:44:32

0

log4net的還可以通過編程配置。我想知道是否這樣做?如果dll以編程方式配置log4net,也許可以使用log4net api將其關閉。我現在沒有一個很好的例子,因爲我正在使用手機。