Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::health_check_result Class Reference

Health check result. More...

#include <monitoring_interface.h>

Collaboration diagram for kcenon::logger::health_check_result:
Collaboration graph

Public Member Functions

 health_check_result (health_status status=health_status::healthy)
 
void set_status (health_status status)
 Set health status.
 
health_status get_status () const
 Get health status.
 
void add_issue (const std::string &issue)
 Add an issue.
 
const std::vector< std::string > & get_issues () const
 Get all issues.
 
void set_message (const std::string &message)
 Set status message.
 
const std::string & get_message () const
 Get status message.
 
bool is_healthy () const
 Check if healthy.
 
std::chrono::system_clock::time_point get_check_time () const
 Get check timestamp.
 

Private Attributes

health_status status_
 
std::string message_
 
std::vector< std::string > issues_
 
std::chrono::system_clock::time_point check_time_
 

Detailed Description

Health check result.

Definition at line 127 of file monitoring_interface.h.

Constructor & Destructor Documentation

◆ health_check_result()

kcenon::logger::health_check_result::health_check_result ( health_status status = health_status::healthy)
inline

Definition at line 135 of file monitoring_interface.h.

136 : status_(status), check_time_(std::chrono::system_clock::now()) {}
std::chrono::system_clock::time_point check_time_

Member Function Documentation

◆ add_issue()

void kcenon::logger::health_check_result::add_issue ( const std::string & issue)
inline

Add an issue.

Parameters
issueDescription of the issue

Definition at line 158 of file monitoring_interface.h.

158 {
159 issues_.push_back(issue);
160 // Automatically degrade status when issues are added
161 if (status_ == health_status::healthy) {
162 status_ = health_status::degraded;
163 }
164 }

References issues_, and status_.

◆ get_check_time()

std::chrono::system_clock::time_point kcenon::logger::health_check_result::get_check_time ( ) const
inline

Get check timestamp.

Returns
Time when health check was performed

Definition at line 202 of file monitoring_interface.h.

202 {
203 return check_time_;
204 }

References check_time_.

◆ get_issues()

const std::vector< std::string > & kcenon::logger::health_check_result::get_issues ( ) const
inline

Get all issues.

Returns
Vector of issue descriptions

Definition at line 170 of file monitoring_interface.h.

170 {
171 return issues_;
172 }

References issues_.

◆ get_message()

const std::string & kcenon::logger::health_check_result::get_message ( ) const
inline

Get status message.

Returns
Status message

Definition at line 186 of file monitoring_interface.h.

186 {
187 return message_;
188 }

References message_.

◆ get_status()

health_status kcenon::logger::health_check_result::get_status ( ) const
inline

Get health status.

Returns
Current health status

Definition at line 150 of file monitoring_interface.h.

150 {
151 return status_;
152 }

References status_.

◆ is_healthy()

bool kcenon::logger::health_check_result::is_healthy ( ) const
inline

Check if healthy.

Returns
true if status is healthy

Definition at line 194 of file monitoring_interface.h.

194 {
195 return status_ == health_status::healthy;
196 }

References status_.

◆ set_message()

void kcenon::logger::health_check_result::set_message ( const std::string & message)
inline

Set status message.

Parameters
messageStatus message

Definition at line 178 of file monitoring_interface.h.

178 {
179 message_ = message;
180 }

References message_.

◆ set_status()

void kcenon::logger::health_check_result::set_status ( health_status status)
inline

Set health status.

Parameters
statusThe health status

Definition at line 142 of file monitoring_interface.h.

142 {
143 status_ = status;
144 }

References status_.

Member Data Documentation

◆ check_time_

std::chrono::system_clock::time_point kcenon::logger::health_check_result::check_time_
private

Definition at line 132 of file monitoring_interface.h.

Referenced by get_check_time().

◆ issues_

std::vector<std::string> kcenon::logger::health_check_result::issues_
private

Definition at line 131 of file monitoring_interface.h.

Referenced by add_issue(), and get_issues().

◆ message_

std::string kcenon::logger::health_check_result::message_
private

Definition at line 130 of file monitoring_interface.h.

Referenced by get_message(), and set_message().

◆ status_

health_status kcenon::logger::health_check_result::status_
private

Definition at line 129 of file monitoring_interface.h.

Referenced by add_issue(), get_status(), is_healthy(), and set_status().


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