append instead of truncate when opening new files

This commit is contained in:
gabime 2014-12-19 18:36:45 +02:00
parent 92f2b7556e
commit fcd1fc037f
2 changed files with 6 additions and 6 deletions

View File

@ -63,15 +63,15 @@ public:
} }
void open(const std::string& fname) void open(const std::string& fname, bool truncate=false)
{ {
close(); close();
const char* mode = truncate ? "wb" : "ab";
_filename = fname; _filename = fname;
for (int tries = 0; tries < open_tries; ++tries) for (int tries = 0; tries < open_tries; ++tries)
{ {
if(!os::fopen_s(&_fd, fname, "wb")) if(!os::fopen_s(&_fd, fname, mode))
return; return;
std::this_thread::sleep_for(std::chrono::milliseconds(open_interval)); std::this_thread::sleep_for(std::chrono::milliseconds(open_interval));
@ -80,11 +80,11 @@ public:
throw spdlog_ex("Failed opening file " + fname + " for writing"); throw spdlog_ex("Failed opening file " + fname + " for writing");
} }
void reopen() void reopen(bool truncate)
{ {
if(_filename.empty()) if(_filename.empty())
throw spdlog_ex("Failed re opening file - was not opened before"); throw spdlog_ex("Failed re opening file - was not opened before");
open(_filename); open(_filename, truncate);
} }

View File

@ -135,7 +135,7 @@ private:
throw spdlog_ex("rotating_file_sink: failed renaming " + src + " to " + target); throw spdlog_ex("rotating_file_sink: failed renaming " + src + " to " + target);
} }
} }
_file_helper.reopen(); _file_helper.reopen(true);
} }
std::string _base_filename; std::string _base_filename;
std::string _extension; std::string _extension;