Duplicate debug log handle for console logging (#1558)
This commit is contained in:
parent
5c3017524f
commit
de185b6a06
|
|
@ -20,6 +20,7 @@
|
||||||
inline HANDLE g_logFile = INVALID_HANDLE_VALUE;
|
inline HANDLE g_logFile = INVALID_HANDLE_VALUE;
|
||||||
inline HMODULE g_hModule;
|
inline HMODULE g_hModule;
|
||||||
inline SRWLOCK g_logFileLock;
|
inline SRWLOCK g_logFileLock;
|
||||||
|
inline HANDLE g_stdOutHandle = INVALID_HANDLE_VALUE;
|
||||||
|
|
||||||
HRESULT
|
HRESULT
|
||||||
PrintDebugHeader()
|
PrintDebugHeader()
|
||||||
|
|
@ -162,6 +163,14 @@ VOID
|
||||||
DebugInitialize(HMODULE hModule)
|
DebugInitialize(HMODULE hModule)
|
||||||
{
|
{
|
||||||
g_hModule = hModule;
|
g_hModule = hModule;
|
||||||
|
DuplicateHandle(
|
||||||
|
/* hSourceProcessHandle*/ GetCurrentProcess(),
|
||||||
|
/* hSourceHandle */ GetStdHandle(STD_OUTPUT_HANDLE),
|
||||||
|
/* hTargetProcessHandle */ GetCurrentProcess(),
|
||||||
|
/* lpTargetHandle */&g_stdOutHandle,
|
||||||
|
/* dwDesiredAccess */ 0, // dwDesired is ignored if DUPLICATE_SAME_ACCESS is specified
|
||||||
|
/* bInheritHandle */ TRUE,
|
||||||
|
/* dwOptions */ DUPLICATE_SAME_ACCESS);
|
||||||
|
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
InitializeSRWLock(&g_logFileLock);
|
InitializeSRWLock(&g_logFileLock);
|
||||||
|
|
@ -270,6 +279,11 @@ DebugStop()
|
||||||
{
|
{
|
||||||
CloseHandle(g_logFile);
|
CloseHandle(g_logFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g_stdOutHandle != INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
CloseHandle(g_stdOutHandle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
|
|
@ -316,7 +330,7 @@ DebugPrintW(
|
||||||
{
|
{
|
||||||
if (IsEnabled(ASPNETCORE_DEBUG_FLAG_CONSOLE))
|
if (IsEnabled(ASPNETCORE_DEBUG_FLAG_CONSOLE))
|
||||||
{
|
{
|
||||||
WriteFileEncoded(GetConsoleOutputCP(), GetStdHandle(STD_OUTPUT_HANDLE), strOutput.QueryStr());
|
WriteFileEncoded(GetConsoleOutputCP(), g_stdOutHandle, strOutput.QueryStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_logFile != INVALID_HANDLE_VALUE)
|
if (g_logFile != INVALID_HANDLE_VALUE)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue