聲明:我不是一個C++開發人員,我只能做基本的事情。 (我知道指針,只是我的知識是如此生疏,我沒有觸及C/C++大約20年:))C++簡單的條件日誌記錄
設置:我有一個Outlook插件,用C#/.Net 1.1編寫。它使用c++ shim加載。
通常情況下,這工作得很好,我使用我的C#代碼nlog進行日誌記錄。但有時,外掛程序無法加載,i.t.它根本不打託管代碼,因此我無法從日誌文件中調查問題。
所以,我需要鉤住一些基本的日誌記錄到C++ shim中 - 只需寫入一個文件即可。我需要儘可能簡化我們的用戶啓用。其實我不想默認發貨。
我在想什麼,它會檢查一個特定的DLL是否存在(日誌記錄dll),如果是,使用它。否則,它將不會記錄任何內容。這樣,當我有一個用戶遇到這樣的問題時,我可以只發送日誌dll,用戶將它保存到運行時目錄中,然後我將擁有該文件。
我想這必須用某種形式的工廠解決方案來完成,該解決方案返回一個虛擬記錄器,或者如果找到了dll,這是一個真正的記錄器。
另一種選擇是製作一些簡單的記錄器,並根據指令重新編制或使用它的墊片。這不是可取的方法,因爲墊片需要簽名,我必須指示用戶製作「真實」備份副本,然後在完成時恢復等,而不是隻保存和刪除dll 。
我很感激任何好的建議如何處理它,連同鏈接或示例代碼如何去之後。
Cheers
是的,log4cplus也不錯:http://log4cplus.sourceforge.net/ – neuro 2010-03-18 16:13:07