diff options
author | Puasonych <e.basargin@eastwind.ru> | 2018-05-22 08:27:34 +0300 |
---|---|---|
committer | Puasonych <e.basargin@eastwind.ru> | 2018-05-22 08:27:34 +0300 |
commit | bd3f8a3b921fa766bca85fe004046da91bf8f3d4 (patch) | |
tree | 788c9d1413b982620fac6ce5d4ef52cf4d589865 | |
parent | d6b700eaf2e58d41cd6c3b768ed68b028d0691ea (diff) |
Added file header support
-rw-r--r-- | include/spdlog/contrib/sinks/step_file_sink.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/spdlog/contrib/sinks/step_file_sink.h b/include/spdlog/contrib/sinks/step_file_sink.h index 7e90e0ad..395a534d 100644 --- a/include/spdlog/contrib/sinks/step_file_sink.h +++ b/include/spdlog/contrib/sinks/step_file_sink.h @@ -58,9 +58,22 @@ struct default_step_file_name_calculator }; /* + * The default action when recording starts + */ +struct default_action_when_recording_starts +{ + // Write the start message to the beginning of the file and return its size + static size_t beginning_of_file() + { + return 0; + } +}; + +/* * Rotating file sink based on size and a specified time step */ -template<class Mutex, class FileNameCalc = default_step_file_name_calculator> +template<class Mutex, class FileNameCalc = default_step_file_name_calculator, + class RecordingStartActions = default_action_when_recording_starts> class step_file_sink SPDLOG_FINAL : public base_sink<Mutex> { public: @@ -113,7 +126,7 @@ protected: std::tie(_current_filename, std::ignore) = FileNameCalc::calc_filename(_base_filename, _tmp_ext); _file_helper.open(_current_filename); _tp = _next_tp(); - _current_size = msg.formatted.size(); + _current_size = msg.formatted.size() + RecordingStartActions::beginning_of_file(); } _file_helper.write(msg); } |