从Visual Studio获取跟踪输出 - 但不是在应用程序运行时

时间:2017-06-20 21:08:15

标签: c# visual-studio trace system.diagnostics

我们有一个C#控制台应用程序,它运行良好。它包括我们使用的第三方实用程序,它记录到(system.diagnostics)跟踪。我们使用自定义跟踪侦听器成功拦截此跟踪,并使用Log4Net将其写入数据库。

<system.diagnostics>
<trace autoflush="true" indentsize="4">
  <listeners>
     <remove name="Default"/>
      <add name="myCustomTraceLog4NetListener" type="XXX.Log4netTraceListener,XXXXXX"/>
  </listeners>
</trace>

问题是此跟踪输出仅在直接从visual studio运行时生成和捕获,而不是从命令行或clickonce运行。使用VS进行调试时,我们将在(调试)输出窗口中看到它,并看到它正在写入数据库 - 但仅当我们从Visual Studio中运行应用程序时才会看到它。从命令行调用完全相同的可执行文件时,它不会捕获此跟踪输出。它失去了以太。但其他log4net调用工作正常。

是否有任何项目/解决方案设置会阻止编写跟踪,除非应用程序是从VS以交互方式启动的?感谢。

0 个答案:

没有答案