|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
Outputs log messages to console (stdout or stderr) More...
#include <console_sink.h>


Public Member Functions | |
| console_sink (bool use_stderr=false, bool auto_flush=false) | |
| Construct a console sink. | |
| ~console_sink () override | |
| Destructor - ensures all data is flushed. | |
| common::VoidResult | write_raw (std::string_view message) override |
| Write a pre-formatted message to console. | |
| common::VoidResult | flush () override |
| Flush buffered output to console. | |
| bool | is_healthy () const override |
| Check if console is healthy. | |
| std::string | get_name () const override |
| Get the name of this sink. | |
| std::string | get_info () const override |
| Get sink information. | |
| void | set_use_stderr (bool use_stderr) |
| Set whether to use stderr. | |
| void | set_auto_flush (bool auto_flush) |
| Set whether to auto-flush after every write. | |
Public Member Functions inherited from kcenon::logger::output_sink_interface | |
| virtual | ~output_sink_interface ()=default |
Private Attributes | |
| bool | use_stderr_ |
| Write to stderr instead of stdout. | |
| bool | auto_flush_ |
| Flush after every write. | |
| std::mutex | mutex_ |
| Protects console output. | |
Outputs log messages to console (stdout or stderr)
Thread-safe console output sink. Accepts pre-formatted messages and writes them to stdout or stderr without any modification.
Features:
Definition at line 52 of file console_sink.h.
|
inlineexplicit |
Construct a console sink.
| use_stderr | If true, write to stderr; if false, write to stdout |
| auto_flush | If true, flush after every write |
Creates a console sink that writes to the specified output stream.
Definition at line 66 of file console_sink.h.
|
inlineoverride |
Destructor - ensures all data is flushed.
Definition at line 76 of file console_sink.h.
References flush().

|
inlineoverridevirtual |
Flush buffered output to console.
Forces any buffered data to be written to the console immediately.
Implements kcenon::logger::output_sink_interface.
Definition at line 123 of file console_sink.h.
References mutex_, kcenon::common::ok(), and use_stderr_.
Referenced by ~console_sink().


|
inlineoverridevirtual |
Get sink information.
Reimplemented from kcenon::logger::output_sink_interface.
Definition at line 168 of file console_sink.h.
References auto_flush_, and use_stderr_.
|
inlineoverridevirtual |
Get the name of this sink.
Implements kcenon::logger::output_sink_interface.
Definition at line 156 of file console_sink.h.
|
inlineoverridevirtual |
Check if console is healthy.
Console output is always available, so this always returns true.
Implements kcenon::logger::output_sink_interface.
Definition at line 146 of file console_sink.h.
|
inline |
Set whether to auto-flush after every write.
| auto_flush | If true, flush after every write |
Definition at line 197 of file console_sink.h.
References auto_flush_, and mutex_.
|
inline |
Set whether to use stderr.
| use_stderr | If true, write to stderr; if false, write to stdout |
Definition at line 184 of file console_sink.h.
References mutex_, and use_stderr_.
|
inlineoverridevirtual |
Write a pre-formatted message to console.
| message | Pre-formatted message (must include newline if desired) |
Writes the message to stdout or stderr without modification. The message should already be fully formatted with timestamps, colors, etc.
Implements kcenon::logger::output_sink_interface.
Definition at line 95 of file console_sink.h.
References auto_flush_, mutex_, kcenon::common::ok(), and use_stderr_.

|
private |
Flush after every write.
Definition at line 204 of file console_sink.h.
Referenced by get_info(), set_auto_flush(), and write_raw().
|
mutableprivate |
Protects console output.
Definition at line 205 of file console_sink.h.
Referenced by flush(), set_auto_flush(), set_use_stderr(), and write_raw().
|
private |
Write to stderr instead of stdout.
Definition at line 203 of file console_sink.h.
Referenced by flush(), get_info(), set_use_stderr(), and write_raw().