Refactor: OutputDebugStringF -> LogPrint(category, ...)

This commit is contained in:
Gavin Andresen 2013-09-18 18:03:21 +10:00
parent b16e9f02c8
commit e51321fb75
5 changed files with 16 additions and 8 deletions

View File

@ -426,7 +426,7 @@ bool AppInit2(boost::thread_group& threadGroup)
// ********************************************************* Step 3: parameter-to-internal-flags // ********************************************************* Step 3: parameter-to-internal-flags
fDebug = GetBoolArg("-debug", false); if (mapMultiArgs.count("-debug")) fDebug = true;
fBenchmark = GetBoolArg("-benchmark", false); fBenchmark = GetBoolArg("-benchmark", false);
mempool.fChecks = GetBoolArg("-checkmempool", RegTest()); mempool.fChecks = GetBoolArg("-checkmempool", RegTest());
Checkpoints::fEnabled = GetBoolArg("-checkpoints", true); Checkpoints::fEnabled = GetBoolArg("-checkpoints", true);

View File

@ -155,12 +155,12 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans
#if QT_VERSION < 0x050000 #if QT_VERSION < 0x050000
void DebugMessageHandler(QtMsgType type, const char * msg) void DebugMessageHandler(QtMsgType type, const char * msg)
{ {
OutputDebugStringF("Bitcoin-Qt: %s\n", msg); LogPrint("qt", "Bitcoin-Qt: %s\n", msg);
} }
#else #else
void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString &msg) void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString &msg)
{ {
OutputDebugStringF("Bitcoin-Qt: %s\n", qPrintable(msg)); LogPrint("qt", "Bitcoin-Qt: %s\n", qPrintable(msg));
} }
#endif #endif

View File

@ -15,8 +15,6 @@
#include <boost/variant/get.hpp> #include <boost/variant/get.hpp>
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#define printf OutputDebugStringF
using namespace json_spirit; using namespace json_spirit;
using namespace std; using namespace std;

View File

@ -233,8 +233,16 @@ static void DebugPrintInit()
mutexDebugLog = new boost::mutex(); mutexDebugLog = new boost::mutex();
} }
int OutputDebugStringF(const char* pszFormat, ...) int LogPrint(const char* category, const char* pszFormat, ...)
{ {
if (category != NULL)
{
if (!fDebug) return 0;
const vector<string>& categories = mapMultiArgs["-debug"];
if (find(categories.begin(), categories.end(), string(category)) == categories.end())
return 0;
}
int ret = 0; // Returns total number of characters written int ret = 0; // Returns total number of characters written
if (fPrintToConsole) if (fPrintToConsole)
{ {

View File

@ -153,7 +153,9 @@ extern volatile bool fReopenDebugLog;
void RandAddSeed(); void RandAddSeed();
void RandAddSeedPerfmon(); void RandAddSeedPerfmon();
int ATTR_WARN_PRINTF(1,2) OutputDebugStringF(const char* pszFormat, ...);
// Print to debug.log if -debug=category switch is given OR category is NULL.
int ATTR_WARN_PRINTF(2,3) LogPrint(const char* category, const char* pszFormat, ...);
/* /*
Rationale for the real_strprintf / strprintf construction: Rationale for the real_strprintf / strprintf construction:
@ -179,7 +181,7 @@ bool ATTR_WARN_PRINTF(1,2) error(const char *format, ...);
* __attribute__((format(printf,X,Y))) gets expanded to __attribute__((format(OutputDebugStringF,X,Y))) * __attribute__((format(printf,X,Y))) gets expanded to __attribute__((format(OutputDebugStringF,X,Y)))
* which confuses gcc. * which confuses gcc.
*/ */
#define printf OutputDebugStringF #define printf(...) LogPrint(NULL, __VA_ARGS__)
void LogException(std::exception* pex, const char* pszThread); void LogException(std::exception* pex, const char* pszThread);
void PrintException(std::exception* pex, const char* pszThread); void PrintException(std::exception* pex, const char* pszThread);