You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
#pragma once |
|
#include <autostore/ILogger.h> |
|
#include <iostream> |
|
#include <mutex> |
|
|
|
namespace test { |
|
|
|
class TestLogger : public nxl::autostore::ILogger |
|
{ |
|
public: |
|
TestLogger() = default; |
|
virtual ~TestLogger() = default; |
|
|
|
void log(LogLevel level, std::string_view message) override; |
|
void vlog(int8_t, std::string_view message) override; |
|
|
|
private: |
|
std::mutex mutex_; |
|
}; |
|
|
|
void TestLogger::log(LogLevel level, std::string_view message) |
|
{ |
|
std::lock_guard<std::mutex> lock(mutex_); |
|
const char* levelStr = ""; |
|
switch (level) { |
|
case LogLevel::Info: |
|
levelStr = "INFO"; |
|
break; |
|
case LogLevel::Warning: |
|
levelStr = "WARNING"; |
|
break; |
|
case LogLevel::Error: |
|
levelStr = "ERROR"; |
|
break; |
|
case LogLevel::Debug: |
|
levelStr = "DEBUG"; |
|
break; |
|
case LogLevel::Verbose: |
|
levelStr = "VERBOSE"; |
|
break; |
|
} |
|
std::cout << "[" << levelStr << "] " << message << std::endl; |
|
} |
|
|
|
void TestLogger::vlog(int8_t level, std::string_view message) |
|
{ |
|
std::lock_guard<std::mutex> lock(mutex_); |
|
std::cout << "[V" << static_cast<int>(level) << "] " << message << std::endl; |
|
} |
|
|
|
} // namespace test
|