From: lucasart Date: Sun, 12 Jun 2016 23:12:24 +0000 (+0800) Subject: Do not hardcode Debug Log File X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=126036abb093df88593ef9db67ac0b9a07f411a6 Do not hardcode Debug Log File Allow to specifiy the log file name, this comes handy in case of self-matches so that each SF instance writes into a different log file. No functional change. --- diff --git a/src/misc.cpp b/src/misc.cpp index e2f101ab..08df524b 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -65,23 +65,23 @@ struct Tie: public streambuf { // MSVC requires split streambuf for cin and cout class Logger { Logger() : in(cin.rdbuf(), file.rdbuf()), out(cout.rdbuf(), file.rdbuf()) {} - ~Logger() { start(false); } + ~Logger() { start(""); } ofstream file; Tie in, out; public: - static void start(bool b) { + static void start(const std::string& fname) { static Logger l; - if (b && !l.file.is_open()) + if (!fname.empty() && !l.file.is_open()) { - l.file.open("io_log.txt", ifstream::out); + l.file.open(fname, ifstream::out); cin.rdbuf(&l.in); cout.rdbuf(&l.out); } - else if (!b && l.file.is_open()) + else if (fname.empty() && l.file.is_open()) { cout.rdbuf(l.out.buf); cin.rdbuf(l.in.buf); @@ -157,7 +157,7 @@ std::ostream& operator<<(std::ostream& os, SyncCout sc) { /// Trampoline helper to avoid moving Logger to misc.h -void start_logger(bool b) { Logger::start(b); } +void start_logger(const std::string& fname) { Logger::start(fname); } /// prefetch() preloads the given address in L1/L2 cache. This is a non-blocking diff --git a/src/misc.h b/src/misc.h index 5bb59d40..a2307fe7 100644 --- a/src/misc.h +++ b/src/misc.h @@ -31,7 +31,7 @@ const std::string engine_info(bool to_uci = false); void prefetch(void* addr); -void start_logger(bool b); +void start_logger(const std::string& fname); void dbg_hit_on(bool b); void dbg_hit_on(bool c, bool b); diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 243f11e3..ab931bb4 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -57,7 +57,7 @@ void init(OptionsMap& o) { const int MaxHashMB = Is64Bit ? 1024 * 1024 : 2048; - o["Write Debug Log"] << Option(false, on_logger); + o["Debug Log File"] << Option("", on_logger); o["Contempt"] << Option(0, -100, 100); o["Threads"] << Option(1, 1, 128, on_threads); o["Hash"] << Option(16, 1, MaxHashMB, on_hash_size);