我設置了一個dll作爲第三方dll用於不同的應用程序。我想讓這個dll擁有自己的日誌記錄,因此外部應用程序不必處理任何設置(我不相信它們使用與我們相同的日誌記錄)。我讀過這可能不是最好的解決方案,但這是我得到的任務。我們希望使用log4net。我已經看過這裏的一些其他問題,他們提到它可以通過代碼進行配置,但是,我遇到的主要問題是沒有切入我們的代碼來配置log4net的切入點。我很好奇,如果我應該放棄dll配置自己,並有一個方法,由配置dll的日誌記錄的輔助應用程序調用,或者有更好的方法來解決這個問題。任何輸入將不勝感激在dll中配置log4net日誌記錄
2
A
回答
5
您可以編程配置log4net。也許將此代碼添加到您的DLL的構造函數。
if (!log4net.LogManager.GetRepository().Configured)
{
// my DLL is referenced by web service applications to log SOAP requests before
// execution is passed to the web method itself, so I load the log4net.config
// file that resides in the web application root folder
var configFileDirectory = (new DirectoryInfo(TraceExtension.AssemblyDirectory)).Parent; // not the bin folder but up one level
var configFile = new FileInfo(configFileDirectory.FullName + "\\log4net.config");
if (!configFile.Exists)
{
throw new FileLoadException(String.Format("The configuration file {0} does not exist", configFile));
}
log4net.Config.XmlConfigurator.Configure(configFile);
}
+0
感謝您的支持。這就是我們最終做的最後只是從未更新過的問題。 – Thomas
相關問題
- 1. 事件日誌記錄的log4net配置
- 2. log4net的設置日誌記錄
- 3. log4net的日誌記錄
- 4. Log4Net日誌記錄異常
- 5. omnet ++:配置日誌記錄
- 6. JBoss日誌記錄配置
- 7. Django - 日誌記錄配置
- 8. 溫莎日誌記錄工具與自定義Log4Net配置
- 9. MassTransit log4net記錄與城堡log4net日誌記錄設施
- 10. 針對不同dll實例的常見log4net日誌記錄
- 11. log4net - 通過COM interop調用一個dll的日誌記錄
- 12. 基於日誌記錄級別的SpringBoot日誌記錄配置
- 13. 在Log4Net中找不到記錄器時設置默認日誌
- 14. log4net記錄器配置
- 15. 在Glassfish配置公共日誌記錄
- 16. 配置日誌記錄級別在python
- 17. log4net的日誌記錄在Windows事件日誌內部錯誤
- 18. 如何使用具有多個日誌記錄和多個配置文件的Log4Net進行日誌記錄?
- 19. 配置log4net允許存儲每個dll的日誌
- 20. ASP.NET MVC(2)log4net日誌記錄模式
- 21. log4net - 按用戶日誌記錄
- 22. 不同級別的log4net日誌記錄
- 23. 暫時禁用log4net的日誌記錄
- 24. Log4Net/C# - 禁用默認日誌記錄
- 25. 力log4net的日誌記錄級別
- 26. log4net自定義日誌記錄
- 27. nHibernate Log4Net日誌記錄異常
- 28. 使用log4net啓用日誌記錄!
- 29. Scrapy日誌記錄:配置日誌重寫日誌文件
- 30. 如何在Log4net中配置日誌級別低於根級別的子級日誌記錄器
您可以配置log4net多種方式,包括使用xml配置文件。您需要通過啓動方法配置日誌記錄設置,或通過xml設置文件設置配置。 –
請澄清 - 你是否想要配置log4net供你的DLL中的類使用的示例代碼,或者你需要關於從你的DLL中調用這個示例代碼的地方/方法的建議? – PaulF
@PaulF我不需要示例代碼,我目前已經建立並運行了,但我並不是解決方案的狂熱粉絲。基本上我有這樣的: '私人無效ConfigureLogging() XmlConfigurator.Configure(新System.IO.FileInfo(string.Format(@「{0} \ {1}」, )); }' 這是在dll的入口點上調用的,以確保日誌記錄知道要使用哪個設置文件。我希望找到比這更好的解決方案。 – Thomas