Fix -logtimestamps to only print time prefix once per output line

Incorporate BlueMatt's fix to only timestamp upon new line, and
move -logtimestamp checking outside OutputDebugPrintF() to better
future-proof it.
This commit is contained in:
Jeff Garzik
2011-03-16 15:42:04 -04:00
committed by Jeff Garzik
parent 27b7f3b43a
commit e2e5f5cd9d
3 changed files with 11 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ bool fCommandLine = false;
string strMiscWarning;
bool fTestNet = false;
bool fNoListen = false;
bool fLogTimestamps = false;
@@ -170,9 +171,16 @@ inline int OutputDebugStringF(const char* pszFormat, ...)
}
if (fileout)
{
static bool fStartedNewLine = true;
// Debug print useful for profiling
if (GetBoolArg("-logtimestamps"))
if (fLogTimestamps && fStartedNewLine)
fprintf(fileout, "%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
if (pszFormat[strlen(pszFormat) - 1] == '\n')
fStartedNewLine = true;
else
fStartedNewLine = false;
va_list arg_ptr;
va_start(arg_ptr, pszFormat);
ret = vfprintf(fileout, pszFormat, arg_ptr);