Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
example_logger Class Reference

Simple logger for examples. More...

Inheritance diagram for example_logger:
Inheritance graph
Collaboration diagram for example_logger:
Collaboration graph

Public Member Functions

 example_logger (const std::string &prefix="LOG")
 
common::VoidResult log (log_level level, const std::string &message) override
 
common::VoidResult log (log_level level, const std::string &message, const std::string &, int, const std::string &) override
 
common::VoidResult log (const log_entry &entry) override
 
bool is_enabled (log_level level) const override
 
common::VoidResult set_level (log_level level) override
 
log_level get_level () const override
 
common::VoidResult flush () override
 
size_t count () const
 

Private Attributes

std::string prefix_
 
std::atomic< size_t > count_ {0}
 
log_level min_level_ = log_level::trace
 

Detailed Description

Simple logger for examples.

Examples
monitor_factory_pattern_example.cpp.

Definition at line 113 of file monitor_factory_pattern_example.cpp.

Constructor & Destructor Documentation

◆ example_logger()

example_logger::example_logger ( const std::string & prefix = "LOG")
inlineexplicit

Member Function Documentation

◆ count()

size_t example_logger::count ( ) const
inline
Examples
monitor_factory_pattern_example.cpp.

Definition at line 157 of file monitor_factory_pattern_example.cpp.

157{ return count_.load(); }

References count_.

◆ flush()

common::VoidResult example_logger::flush ( )
inlineoverride
Examples
monitor_factory_pattern_example.cpp.

Definition at line 152 of file monitor_factory_pattern_example.cpp.

152 {
153 std::cout << std::flush;
154 return common::ok();
155 }

◆ get_level()

log_level example_logger::get_level ( ) const
inlineoverride
Examples
monitor_factory_pattern_example.cpp.

Definition at line 148 of file monitor_factory_pattern_example.cpp.

148 {
149 return min_level_;
150 }

References min_level_.

◆ is_enabled()

bool example_logger::is_enabled ( log_level level) const
inlineoverride
Examples
monitor_factory_pattern_example.cpp.

Definition at line 139 of file monitor_factory_pattern_example.cpp.

139 {
140 return static_cast<int>(level) >= static_cast<int>(min_level_);
141 }

References min_level_.

◆ log() [1/3]

common::VoidResult example_logger::log ( const log_entry & entry)
inlineoverride

Definition at line 135 of file monitor_factory_pattern_example.cpp.

135 {
136 return log(entry.level, entry.message);
137 }
common::VoidResult log(log_level level, const std::string &message) override

References log().

Here is the call graph for this function:

◆ log() [2/3]

common::VoidResult example_logger::log ( log_level level,
const std::string & message )
inlineoverride
Examples
monitor_factory_pattern_example.cpp.

Definition at line 123 of file monitor_factory_pattern_example.cpp.

123 {
124 std::cout << "[" << prefix_ << "] [" << to_string(level) << "] "
125 << message << std::endl;
126 count_++;
127 return common::ok();
128 }
auto to_string(plugin_load_error error) -> std::string
Convert plugin_load_error to string.

References count_, prefix_, and kcenon::monitoring::to_string().

Referenced by log(), and log().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log() [3/3]

common::VoidResult example_logger::log ( log_level level,
const std::string & message,
const std::string & ,
int ,
const std::string &  )
inlineoverride

Definition at line 130 of file monitor_factory_pattern_example.cpp.

131 {
132 return log(level, message);
133 }

References log().

Here is the call graph for this function:

◆ set_level()

common::VoidResult example_logger::set_level ( log_level level)
inlineoverride
Examples
monitor_factory_pattern_example.cpp.

Definition at line 143 of file monitor_factory_pattern_example.cpp.

143 {
144 min_level_ = level;
145 return common::ok();
146 }

References min_level_.

Member Data Documentation

◆ count_

std::atomic<size_t> example_logger::count_ {0}
private
Examples
monitor_factory_pattern_example.cpp.

Definition at line 116 of file monitor_factory_pattern_example.cpp.

116{0};

Referenced by count(), and log().

◆ min_level_

log_level example_logger::min_level_ = log_level::trace
private

◆ prefix_

std::string example_logger::prefix_
private
Examples
monitor_factory_pattern_example.cpp.

Definition at line 115 of file monitor_factory_pattern_example.cpp.

Referenced by log().


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