用于混合C#、托管C++;,和非托管C++;应用
具体背景:我有一个用C#写的Word插件。这个插件调用了一个为C++编写的另一个应用程序(EntEnter)开发的插件,它进一步被分为托管代码和非托管代码。C代码是从一个进程运行的,而C++代码是从另一个进程运行的。此外,C++代码是多线程的。 我一直在考虑使用以下方法之一或两者的组合,但我愿意接受其他建议:用于混合C#、托管C++;,和非托管C++;应用,c#,.net,c++,logging,C#,.net,C++,Logging,具体背景:我有一个用C#写的Word插件。这个插件调用了一个为C++编写的另一个应用程序(EntEnter)开发的插件,它进一步被分为托管代码和非托管代码。C代码是从一个进程运行的,而C++代码是从另一个进程运行的。此外,C++代码是多线程的。 我一直在考虑使用以下方法之一或两者的组合,但我愿意接受其他建议: log4net log4cxx nlog System.Diagnostics.Trace System.Diagnostics.TraceSource 你会用什么?< /p> < p
- log4net
- log4cxx
- nlog
- System.Diagnostics.Trace
- System.Diagnostics.TraceSource
<>你会用什么?< /p> < p>我会选择一个C++框架,一个C++(你考虑Log4CPLUS?),并决定哪一个可以很容易地适应,以便它的日志输出被写入另一个框架。选择哪一个取决于代码的结构(“谁知道谁?”)。< /P> C++编写的应用程序自己承载了C语言应用程序可以调用的WCF服务。但是,C语言应用程序中存在独立于C++的用例。此外,C++应用程序在主机应用程序(EnTeNT)启动或关闭时执行的小位,但其他的,只有在调用时才运行。@弥敦-听起来您没有什么需要登录到C++应用程序中,您不能从C++应用程序中登录。我想我至少需要在C++应用程序中发生日志错误。但这无法传播到c#app。例如,如果托管WCF服务失败,除非C++应用程序还进行一些日志记录,否则我将无法记录许多有用的信息。另外,如果由于主机故障导致调用服务时出现异常,我将如何记录该异常?我看到在一个地方处理所有日志的好处,但我觉得我需要一些额外的日志。我可以编写临时日志,并在事务完成时将其删除,但集中日志的好处何在?