quill
|
#include <JsonSink.h>
Public Member Functions | |
JsonFileSink (fs::path const &filename, FileSinkConfig const &config, FileEventNotifier file_event_notifier=FileEventNotifier{}, bool do_fopen=true) | |
![]() | |
QUILL_ATTRIBUTE_HOT void | write_log (MacroMetadata const *log_metadata, uint64_t log_timestamp, std::string_view thread_id, std::string_view thread_name, std::string const &process_id, std::string_view logger_name, LogLevel log_level, std::string_view log_level_description, std::string_view log_level_short_code, std::vector< std::pair< std::string, std::string >> const *named_args, std::string_view log_message, std::string_view log_statement) override |
Logs a formatted log message to the sink. More... | |
virtual QUILL_ATTRIBUTE_HOT void | generate_json_message (MacroMetadata const *log_metadata, uint64_t log_timestamp, std::string_view thread_id, std::string_view, std::string const &, std::string_view logger_name, LogLevel, std::string_view log_level_description, std::string_view, std::vector< std::pair< std::string, std::string >> const *named_args, std::string_view, std::string_view, char const *message_format) |
Generates a JSON-formatted log message. More... | |
![]() | |
FileSink (fs::path const &filename, FileSinkConfig const &config=FileSinkConfig{}, FileEventNotifier file_event_notifier=FileEventNotifier{}, bool do_fopen=true, std::chrono::system_clock::time_point start_time=std::chrono::system_clock::now()) | |
Construct a FileSink object. More... | |
QUILL_ATTRIBUTE_HOT void | flush_sink () override |
Flushes the stream and optionally fsyncs it. | |
![]() | |
StreamSink (fs::path stream, FILE *file=nullptr, std::optional< PatternFormatterOptions > const &override_pattern_formatter_options=std::nullopt, FileEventNotifier file_event_notifier=FileEventNotifier{}) | |
Constructor for StreamSink. More... | |
QUILL_ATTRIBUTE_HOT void | flush_sink () override |
Flushes the stream. | |
virtual QUILL_NODISCARD fs::path const & | get_filename () const noexcept |
Returns the name of the file. More... | |
QUILL_NODISCARD bool | is_null () const noexcept |
Checks if the stream is null. More... | |
![]() | |
Sink (std::optional< PatternFormatterOptions > override_pattern_formatter_options=std::nullopt) | |
Constructor Uses the default pattern formatter. | |
virtual | ~Sink ()=default |
Destructor. | |
Sink (Sink const &)=delete | |
Sink & | operator= (Sink const &)=delete |
void | set_log_level_filter (LogLevel log_level) |
Sets a log level filter on the sink. More... | |
QUILL_NODISCARD LogLevel | get_log_level_filter () const noexcept |
Returns the current log level filter set on the sink. More... | |
void | add_filter (std::unique_ptr< Filter > filter) |
Adds a new filter to the sink. More... | |
Additional Inherited Members | |
![]() | |
using | base_type = FileSink |
![]() | |
static QUILL_ATTRIBUTE_HOT void | safe_fwrite (void const *ptr, size_t size, size_t count, FILE *stream) |
Writes data safely to the stream. More... | |
![]() | |
void | open_file (fs::path const &filename, std::string const &mode) |
Open a file. More... | |
void | close_file () |
Close the file. | |
void | fsync_file (bool force_fsync=false) noexcept |
Fsync the file descriptor. | |
![]() | |
QUILL_ATTRIBUTE_HOT void | flush () |
Flushes the stream. | |
![]() | |
virtual QUILL_ATTRIBUTE_HOT void | run_periodic_tasks () noexcept |
Executes periodic tasks by the backend thread, providing an opportunity for the user to perform custom tasks. More... | |
QUILL_NODISCARD bool | apply_all_filters (MacroMetadata const *log_metadata, uint64_t log_timestamp, std::string_view thread_id, std::string_view thread_name, std::string_view logger_name, LogLevel log_level, std::string_view log_message, std::string_view log_statement) |
Applies all registered filters to the log record. More... | |
![]() | |
static QUILL_NODISCARD std::string | format_datetime_string (uint64_t timestamp_ns, Timezone time_zone, std::string const &append_format_pattern) |
Format a datetime string. More... | |
static QUILL_NODISCARD std::pair< std::string, std::string > | extract_stem_and_extension (fs::path const &filename) noexcept |
Extract stem and extension from a filename. More... | |
static QUILL_NODISCARD fs::path | append_datetime_to_filename (fs::path const &filename, std::string const &append_filename_format_pattern, Timezone time_zone, std::chrono::system_clock::time_point timestamp) noexcept |
Append date and/or time to a filename. More... | |
![]() | |
fmtquill::memory_buffer | _json_message |
std::string | _format |
![]() | |
FileSinkConfig | _config |
std::chrono::steady_clock::time_point | _last_fsync_timestamp {} |
std::unique_ptr< char[]> | _write_buffer |
![]() | |
fs::path | _filename |
FILE * | _file {nullptr} |
size_t | _file_size {0} |
The current file size. | |
FileEventNotifier | _file_event_notifier |
bool | _is_null {false} |
bool | _write_occurred {false} |
JSON File Sink.