mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03:09 +00:00
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.
This commit is contained in:
parent
ca14345ba2
commit
126036abb0
3 changed files with 8 additions and 8 deletions
12
src/misc.cpp
12
src/misc.cpp
|
@ -65,23 +65,23 @@ struct Tie: public streambuf { // MSVC requires split streambuf for cin and cout
|
||||||
class Logger {
|
class Logger {
|
||||||
|
|
||||||
Logger() : in(cin.rdbuf(), file.rdbuf()), out(cout.rdbuf(), file.rdbuf()) {}
|
Logger() : in(cin.rdbuf(), file.rdbuf()), out(cout.rdbuf(), file.rdbuf()) {}
|
||||||
~Logger() { start(false); }
|
~Logger() { start(""); }
|
||||||
|
|
||||||
ofstream file;
|
ofstream file;
|
||||||
Tie in, out;
|
Tie in, out;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void start(bool b) {
|
static void start(const std::string& fname) {
|
||||||
|
|
||||||
static Logger l;
|
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);
|
cin.rdbuf(&l.in);
|
||||||
cout.rdbuf(&l.out);
|
cout.rdbuf(&l.out);
|
||||||
}
|
}
|
||||||
else if (!b && l.file.is_open())
|
else if (fname.empty() && l.file.is_open())
|
||||||
{
|
{
|
||||||
cout.rdbuf(l.out.buf);
|
cout.rdbuf(l.out.buf);
|
||||||
cin.rdbuf(l.in.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
|
/// 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
|
/// prefetch() preloads the given address in L1/L2 cache. This is a non-blocking
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
const std::string engine_info(bool to_uci = false);
|
const std::string engine_info(bool to_uci = false);
|
||||||
void prefetch(void* addr);
|
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 b);
|
||||||
void dbg_hit_on(bool c, bool b);
|
void dbg_hit_on(bool c, bool b);
|
||||||
|
|
|
@ -57,7 +57,7 @@ void init(OptionsMap& o) {
|
||||||
|
|
||||||
const int MaxHashMB = Is64Bit ? 1024 * 1024 : 2048;
|
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["Contempt"] << Option(0, -100, 100);
|
||||||
o["Threads"] << Option(1, 1, 128, on_threads);
|
o["Threads"] << Option(1, 1, 128, on_threads);
|
||||||
o["Hash"] << Option(16, 1, MaxHashMB, on_hash_size);
|
o["Hash"] << Option(16, 1, MaxHashMB, on_hash_size);
|
||||||
|
|
Loading…
Add table
Reference in a new issue