Skip to main content

AVxcelerate Simulation Framework 2025 R2 SP02

console_logger

Last update: 19.09.2025
1
3
4#pragma once
5#include "core/logging/i_logger.h"
6#include <iostream>
7
13{
14namespace core
15{
16namespace logging
17{
18
21class ConsoleLogger : public ILogger
22{
23 public:
24 virtual ~ConsoleLogger() = default;
25
26 void SetCurrentLogLevel(LogLevel log_level) final { log_level_ = log_level; }
27
28 [[nodiscard]] LogLevel GetCurrentLogLevel() const final { return log_level_; }
29
30 void Log(LogLevel level, std::string_view log_message) final
31 {
33 {
34 return;
35 }
36
37 switch (level)
38 {
39 case LogLevel::kDebug:
40 {
41 std::cout << "\033[34m"
42 << "[LogDebug]" << log_message << "\033[0m" << std::endl;
43 break;
44 }
45 case LogLevel::kInfo:
46 {
47 std::cout << "[LogInfo]" << log_message << std::endl;
48 break;
49 }
50 case LogLevel::kWarning:
51 {
52 std::cout << "\033[33m"
53 << "[LogWarn]" << log_message << "\033[0m" << std::endl;
54 break;
55 }
56 case LogLevel::kError:
57 {
58 std::cerr << "\033[31m"
59 << "[LogError]" << log_message << "\033[0m" << std::endl;
60 break;
61 }
62 default:
63 {
64 break;
65 }
66 }
67 }
68
69 private:
70 LogLevel log_level_{LogLevel::kDebug};
71};
72
73} // namespace logging
74} // namespace core
75} // namespace simulation_framework
This is the concrete Topic class that can be used for creation of a communication channel with given ...
Definition topic.h:38
A basic implementation of the logger which logs to stdout/stderr.
void Log(LogLevel level, std::string_view log_message) final
void SetCurrentLogLevel(LogLevel log_level) final
An interface for implementing custom logging mechanisms.
Definition i_logger.h:31
The namespace for all core functionalities under namespace simulation_framework.
The top namespace for simulation framework.

Connect with Ansys