声明:我不是一个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