Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于混合C#、托管C++;,和非托管C++;应用_C#_.net_C++_Logging - Fatal编程技术网

用于混合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

具体背景:我有一个用C#写的Word插件。这个插件调用了一个为C++编写的另一个应用程序(EntEnter)开发的插件,它进一步被分为托管代码和非托管代码。C代码是从一个进程运行的,而C++代码是从另一个进程运行的。此外,C++代码是多线程的。 我一直在考虑使用以下方法之一或两者的组合,但我愿意接受其他建议:

  • 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++应用程序还进行一些日志记录,否则我将无法记录许多有用的信息。另外,如果由于主机故障导致调用服务时出现异常,我将如何记录该异常?我看到在一个地方处理所有日志的好处,但我觉得我需要一些额外的日志。我可以编写临时日志,并在事务完成时将其删除,但集中日志的好处何在?