append instead of truncate when opening new files
This commit is contained in:
parent
92f2b7556e
commit
fcd1fc037f
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user