Changeset 421


Ignore:
Timestamp:
May 7, 2015, 1:27:58 AM (6 years ago)
Author:
roman
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/Miscellaneous/AtlReleaseTrace/roatlreleasetrace.h

    r420 r421  
    88#pragma once
    99
     10#include <atlstr.h>
     11
    1012////////////////////////////////////////////////////////////
    1113// CDebugTrace, ATLTRACE, ATLTRACE2
     
    1416        #define _TRACELEVEL 4
    1517#endif // !defined(_TRACELEVEL)
     18
     19#define _TRACESUFFIX_PROCESSIDENTIFIER 0x01
     20#define _TRACESUFFIX_THREADIDENTIFIER  0x02
     21
     22#if !defined(_TRACESUFFIX)
     23        #define _TRACESUFFIX _TRACESUFFIX_THREADIDENTIFIER
     24#endif // !defined(_TRACESUFFIX)
    1625
    1726class CDebugTraceBase
     
    2837                }
    2938                return pszFileName;
     39        }
     40        static CString ApplyTraceSuffix(CString sText)
     41        {
     42                #if defined(_TRACESUFFIX) && _TRACESUFFIX > 0
     43                        sText.TrimRight(_T("\t\n\r ."));
     44                        sText.Append(_T(" ["));
     45                        #if _TRACESUFFIX & _TRACESUFFIX_PROCESSIDENTIFIER
     46                                sText.AppendFormat(_T("P %d, "), GetCurrentProcessId());
     47                        #endif
     48                        #if _TRACESUFFIX & _TRACESUFFIX_THREADIDENTIFIER
     49                                sText.AppendFormat(_T("T %d, "), GetCurrentThreadId());
     50                        #endif
     51                        sText.TrimRight(_T(" ,"));
     52                        sText.Append(_T("]\n"));
     53                #endif // !defined(_TRACESUFFIX)
     54                return sText;
    3055        }
    3156};
     
    5277                        nTextLength += sprintf_s(pszText + nTextLength, _countof(pszText) - nTextLength, "%hs(%d): %hs: ", pszFileName, nLineNumber, pszFunctionName);
    5378                nTextLength += vsprintf_s(pszText + nTextLength, _countof(pszText) - nTextLength, pszFormat, Arguments);
    54                 OutputDebugStringA(pszText);
     79                #if defined(_TRACESUFFIX) && _TRACESUFFIX > 0
     80                        CString sText(pszText);
     81                        OutputDebugString(ApplyTraceSuffix(sText));
     82                #else
     83                        OutputDebugStringA(pszText);
     84                #endif // defined(_TRACESUFFIX)
    5585        }
    5686        static VOID TraceV(LPCSTR pszFileName, INT nLineNumber, LPCSTR pszFunctionName, DWORD_PTR nCategory, UINT nLevel, LPCWSTR pszFormat, va_list& Arguments)
     
    6595                        nTextLength += swprintf_s(pszText + nTextLength, _countof(pszText) - nTextLength, L"%hs(%d): %hs: ", pszFileName, nLineNumber, pszFunctionName);
    6696                nTextLength += vswprintf_s(pszText + nTextLength, _countof(pszText) - nTextLength, pszFormat, Arguments);
    67                 OutputDebugStringW(pszText);
     97                #if defined(_TRACESUFFIX) && _TRACESUFFIX > 0
     98                        CString sText(pszText);
     99                        OutputDebugString(ApplyTraceSuffix(sText));
     100                #else
     101                        OutputDebugStringA(pszText);
     102                #endif // defined(_TRACESUFFIX)
    68103        }
    69104
     
    213248                        if(!m_sText.IsEmpty())
    214249                                sText.AppendFormat(_T(", %s"), m_sText);
    215                         OutputDebugString(sText);
     250                        OutputDebugString(ApplyTraceSuffix(sText));
    216251                }
    217252        }
Note: See TracChangeset for help on using the changeset viewer.