Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
console_logger Class Reference

Simple console logger implementation using common_system ILogger. More...

Inheritance diagram for console_logger:
Inheritance graph
Collaboration diagram for console_logger:
Collaboration graph

Public Types

using VoidResult = kcenon::common::VoidResult
 
using log_entry = kcenon::common::interfaces::log_entry
 
using source_location = kcenon::common::source_location
 

Public Member Functions

VoidResult log (common_log_level level, const std::string &message) override
 
VoidResult log (common_log_level level, std::string_view message, const source_location &loc=source_location::current()) override
 
VoidResult log (const log_entry &entry) override
 
bool is_enabled (common_log_level) const override
 
VoidResult set_level (common_log_level level) override
 
common_log_level get_level () const override
 
VoidResult flush () override
 

Private Member Functions

std::string level_to_string (common_log_level level) const
 

Private Attributes

common_log_level min_level_ = common_log_level::trace
 

Detailed Description

Simple console logger implementation using common_system ILogger.

Note
Issue #261: Updated to use common_system's ILogger interface.
Examples
composition_example.cpp.

Definition at line 40 of file composition_example.cpp.

Member Typedef Documentation

◆ log_entry

using console_logger::log_entry = kcenon::common::interfaces::log_entry
Examples
composition_example.cpp.

Definition at line 43 of file composition_example.cpp.

◆ source_location

using console_logger::source_location = kcenon::common::source_location
Examples
composition_example.cpp.

Definition at line 44 of file composition_example.cpp.

◆ VoidResult

using console_logger::VoidResult = kcenon::common::VoidResult
Examples
composition_example.cpp.

Definition at line 42 of file composition_example.cpp.

Member Function Documentation

◆ flush()

VoidResult console_logger::flush ( )
inlineoverride
Examples
composition_example.cpp.

Definition at line 80 of file composition_example.cpp.

80 {
81 std::cout.flush();
82 return VoidResult::ok({});
83 }

◆ get_level()

common_log_level console_logger::get_level ( ) const
inlineoverride
Examples
composition_example.cpp.

Definition at line 76 of file composition_example.cpp.

76 {
77 return min_level_;
78 }
common_log_level min_level_

References min_level_.

◆ is_enabled()

bool console_logger::is_enabled ( common_log_level ) const
inlineoverride
Examples
composition_example.cpp.

Definition at line 67 of file composition_example.cpp.

67 {
68 return true; // Enable all levels for demo
69 }

◆ level_to_string()

std::string console_logger::level_to_string ( common_log_level level) const
inlineprivate
Examples
composition_example.cpp.

Definition at line 86 of file composition_example.cpp.

86 {
87 return std::string(kcenon::common::interfaces::to_string(level));
88 }

Referenced by log(), log(), and log().

Here is the caller graph for this function:

◆ log() [1/3]

VoidResult console_logger::log ( common_log_level level,
const std::string & message )
inlineoverride
Examples
composition_example.cpp.

Definition at line 46 of file composition_example.cpp.

46 {
47 std::cout << "[" << level_to_string(level) << "] " << message << std::endl;
48 return VoidResult::ok({});
49 }
std::string level_to_string(common_log_level level) const

References level_to_string().

Here is the call graph for this function:

◆ log() [2/3]

VoidResult console_logger::log ( common_log_level level,
std::string_view message,
const source_location & loc = source_location::current() )
inlineoverride

Definition at line 51 of file composition_example.cpp.

53 {
54 std::cout << "[" << level_to_string(level) << "] "
55 << loc.file_name() << ":" << loc.line() << " (" << loc.function_name() << ") - "
56 << message << std::endl;
57 return VoidResult::ok({});
58 }

References level_to_string().

Here is the call graph for this function:

◆ log() [3/3]

VoidResult console_logger::log ( const log_entry & entry)
inlineoverride

Definition at line 60 of file composition_example.cpp.

60 {
61 std::cout << "[" << level_to_string(entry.level) << "] "
62 << entry.file << ":" << entry.line << " (" << entry.function << ") - "
63 << entry.message << std::endl;
64 return VoidResult::ok({});
65 }

References level_to_string().

Here is the call graph for this function:

◆ set_level()

VoidResult console_logger::set_level ( common_log_level level)
inlineoverride
Examples
composition_example.cpp.

Definition at line 71 of file composition_example.cpp.

71 {
72 min_level_ = level;
73 return VoidResult::ok({});
74 }

References min_level_.

Member Data Documentation

◆ min_level_

common_log_level console_logger::min_level_ = common_log_level::trace
private
Examples
composition_example.cpp.

Definition at line 90 of file composition_example.cpp.

Referenced by get_level(), and set_level().


The documentation for this class was generated from the following file: