diff options
author | Jeff Garzik <jeff@garzik.org> | 2011-03-16 15:42:04 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2011-03-16 15:42:04 -0400 |
commit | e2e5f5cd9da7d5a4d54a8c3fb3981ba82accc78e (patch) | |
tree | c794c4dc440471f32041b6e3b30c10dc4689d887 | |
parent | 27b7f3b43a3868cd4d4f97e03c35074c2ef12349 (diff) |
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.
-rw-r--r-- | init.cpp | 2 | ||||
-rw-r--r-- | util.cpp | 10 | ||||
-rw-r--r-- | util.h | 1 |
3 files changed, 11 insertions, 2 deletions
@@ -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])) @@ -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); @@ -148,6 +148,7 @@ extern bool fCommandLine; extern string strMiscWarning; extern bool fTestNet; extern bool fNoListen; +extern bool fLogTimestamps; void RandAddSeed(); void RandAddSeedPerfmon(); |