私はSlimDXライブラリを含むWCFコンソールアプリケーションを持っています。 SlimDXは、System.Diagnostics.Debugの 'Write'メソッドを使用してログを出力します。私は現在、このログをコンソールで見ることができません。 SlimDXの出力をキャプチャしてコンソールに書きたいと思います。ここでキャプチャSystem.Diagnostics.Debug WCFアプリケーションの出力
は、これまでのところ(動作しない)私の実装です:
FileStream fs = new FileStream("C:/users/paulm/documents/output.txt", FileMode.Create);
Writer = new StreamWriter(fs);
System.Diagnostics.Debug.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(Writer));
この実装はSlimDXからの出力をキャプチャされていません。ここでSlimDXのソースコードは次のとおりです。
#include "ObjectTable.h"
#include "InternalHelpers.h"
#include "ComObject.h"
using namespace System;
using namespace System::Text;
using namespace System::Threading;
using namespace System::Globalization;
using namespace System::Collections::ObjectModel;
using namespace System::Collections::Generic;
using namespace System::Diagnostics;
namespace SlimDX
{
static ObjectTable::ObjectTable()
{
m_Table = gcnew Dictionary<IntPtr, ComObject^>();
m_Ancillary = gcnew Dictionary<IntPtr, List<ComObject^>^>();
m_SyncObject = gcnew Object();
AppDomain::CurrentDomain->DomainUnload += gcnew System::EventHandler(OnExit);
AppDomain::CurrentDomain->ProcessExit += gcnew System::EventHandler(OnExit);
}
ObjectTable::ObjectTable()
{
}
void ObjectTable::OnExit(Object^ sender, EventArgs^ e)
{
SLIMDX_UNREFERENCED_PARAMETER(sender);
SLIMDX_UNREFERENCED_PARAMETER(e);
String^ leakString = ReportLeaks();
Debug::Write(leakString); // this is the output I would like to capture
}
私はSlimDX出力をキャプチャするために、WRTのWCFを変更する必要があるだろうかに関してどのような洞察力?