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();
const char* mode = truncate ? "wb" : "ab";
_filename = fname;
for (int tries = 0; tries < open_tries; ++tries)
{
if(!os::fopen_s(&_fd, fname, "wb"))
if(!os::fopen_s(&_fd, fname, mode))
return;
std::this_thread::sleep_for(std::chrono::milliseconds(open_interval));
@ -80,11 +80,11 @@ public:
throw spdlog_ex("Failed opening file " + fname + " for writing");
}
void reopen()
void reopen(bool truncate)
{
if(_filename.empty())
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);
}
}
_file_helper.reopen();
_file_helper.reopen(true);
}
std::string _base_filename;
std::string _extension;