stabilized logger classes

This commit is contained in:
Sascha Kühl
2026-02-04 14:45:26 +01:00
parent e7e66f44e2
commit 520b2bab49
10 changed files with 112 additions and 135 deletions
+20 -23
View File
@@ -44,11 +44,13 @@ char* gettimestamp(char* const buffer, const size_t size) {
}
std::map<log_level, std::string> log_domain::level_strings = { /* NOLINT */
{ log_level::LVL_DEBUG, "DEBUG" },
{ log_level::LVL_INFO, "INFO" },
{ log_level::LVL_WARN, "WARN" },
{ log_level::LVL_ERROR, "ERROR" },
{ log_level::LVL_TRACE, "TRACE" }
{ log_level::Fatal, "Fatal" },
{ log_level::Debug, "Debug" },
{ log_level::Info, "Info" },
{ log_level::Warn, "Warn" },
{ log_level::Error, "Error" },
{ log_level::Trace, "Trace" },
{ log_level::All, "All" }
};
log_domain::log_domain(std::string name, const log_level_range log_range)
@@ -61,33 +63,29 @@ std::string log_domain::name() const
return name_;
}
void log_domain::max_log_level(log_level max_level)
{
void log_domain::max_log_level(const log_level max_level) {
log_level_range_.max_level = max_level;
}
log_level log_domain::max_log_level() const
{
log_level log_domain::max_log_level() const {
return log_level_range_.max_level;
}
void log_domain::min_log_level(log_level min_level)
{
void log_domain::min_log_level(const log_level min_level) {
log_level_range_.min_level = min_level;
}
log_level log_domain::min_log_level() const
{
log_level log_domain::min_log_level() const {
return log_level_range_.min_level;
}
void log_domain::add_sink(sink_ptr sink)
{
void log_domain::add_sink(sink_ptr sink) {
std::lock_guard l(mutex_);
sinks.push_back(std::move(sink));
}
void log_domain::log(log_level lvl, const std::string &source, const char *message) const {
if (lvl < log_level_range_.max_level || lvl > log_level_range_.min_level) {
void log_domain::log(const log_level lvl, const std::string &source, const char *message) const {
if (lvl < log_level_range_.min_level || lvl > log_level_range_.max_level) {
return;
}
@@ -97,9 +95,9 @@ void log_domain::log(log_level lvl, const std::string &source, const char *messa
char buffer[1024];
#ifdef _MSC_VER
int ret = sprintf_s(buffer, 1024, "%s [Thread %zu] [%-7s] [%s]: %s\n", timestamp, details::acquire_thread_index(std::this_thread::get_id()), level_strings[lvl].c_str(), source.c_str(), message);
const int ret = sprintf_s(buffer, 1024, "%s [Thread %zu] [%-7s] [%s]: %s\n", timestamp, details::acquire_thread_index(std::this_thread::get_id()), level_strings[lvl].c_str(), source.c_str(), message);
#else
int ret = sprintf(buffer, "%s [Thread %lu] [%-7s] [%s]: %s\n", timestamp, details::acquire_thread_index(std::this_thread::get_id()), level_strings[lvl].c_str(), source.c_str(), message);
const int ret = sprintf(buffer, "%s [Thread %lu] [%-7s] [%s]: %s\n", timestamp, details::acquire_thread_index(std::this_thread::get_id()), level_strings[lvl].c_str(), source.c_str(), message);
#endif
std::lock_guard<std::mutex> l(mutex_);
@@ -108,13 +106,12 @@ void log_domain::log(log_level lvl, const std::string &source, const char *messa
}
}
void log_domain::clear()
{
void log_domain::clear() {
std::lock_guard l(mutex_);
sinks.clear();
}
void log_domain::get_time_stamp(char* const timestamp_buffer) const {
std::lock_guard l(mutex_);
void log_domain::get_time_stamp(char* const timestamp_buffer) {
details::gettimestamp(timestamp_buffer, 80);
}