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

@ -211,8 +211,8 @@ bool AppInit2(int argc, char* argv[])
fPrintToDebugger = GetBoolArg("-printtodebugger");
fTestNet = GetBoolArg("-testnet");
fNoListen = GetBoolArg("-nolisten");
fLogTimestamps = GetBoolArg("-logtimestamps");
for (int i = 1; i < argc; i++)
if (!IsSwitchChar(argv[i][0]))

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);

1
util.h
View file

@ -148,6 +148,7 @@ extern bool fCommandLine;
extern string strMiscWarning;
extern bool fTestNet;
extern bool fNoListen;
extern bool fLogTimestamps;
void RandAddSeed();
void RandAddSeedPerfmon();