- wxCRIT_SECT_LOCKER(locker, gs_csLogBuf);
-
- wxChar *p = s_szBuf;
- size_t len = s_szBufSize;
- wxStrncpy(s_szBuf, _T("("), len);
- len -= 1; // strlen("(")
- p += 1;
- wxStrncat(p, mask, len);
- size_t lenMask = wxStrlen(mask);
- len -= lenMask;
- p += lenMask;
-
- wxStrncat(p, _T(") "), len);
- len -= 2;
- p += 2;
-
- wxVsnprintf(p, len, szFormat, argptr);
-
- wxLog::OnLog(wxLOG_Trace, s_szBuf, time(NULL));
+ wxString msg;
+ msg << _T("(") << mask << _T(") ") << wxString::FormatV(szFormat, argptr);
+
+ wxLog::OnLog(wxLOG_Trace, msg, time(NULL));