Skip to content
Snippets Groups Projects
Commit d4aa1fa6 authored by Olivier BICHLER's avatar Olivier BICHLER
Browse files

Updated log system to use env vars

parent b033e7aa
No related branches found
No related tags found
2 merge requests!105version 0.2.0,!94Improved scheduling
Pipeline #41168 passed
This commit is part of merge request !94. Comments created here will be created in the context of that merge request.
......@@ -18,6 +18,8 @@
#include <fmt/format.h>
#include <fmt/ranges.h>
#include "aidge/utils/Attributes.hpp"
namespace Aidge {
/**
* Aidge logging class, for displaying and file logging of events.
......@@ -145,4 +147,9 @@ private:
};
}
namespace {
template <>
const char *const EnumStrings<Aidge::Log::Level>::data[] = {"Debug", "Info", "Notice", "Warn", "Error", "Fatal"};
}
#endif //AIDGE_LOG_H_
......@@ -12,12 +12,40 @@
#include "aidge/utils/Log.hpp"
#include "aidge/utils/ErrorHandling.hpp"
#include <cstdlib>
#include <fmt/color.h>
#include <fmt/chrono.h>
Aidge::Log::Level Aidge::Log::mConsoleLevel = Info;
Aidge::Log::Level Aidge::Log::mFileLevel = Debug;
std::string Aidge::Log::mFileName = "aidge.log";
Aidge::Log::Level Aidge::Log::mConsoleLevel = []() {
const char* logLevel = std::getenv("AIDGE_LOGLEVEL_CONSOLE");
if (logLevel != nullptr) {
for (std::size_t i = 0; i < size(EnumStrings<Log::Level>::data); ++i) {
if (std::string(logLevel) == EnumStrings<Log::Level>::data[i]) {
return static_cast<Log::Level>(i);
}
}
}
return Info;
}();
Aidge::Log::Level Aidge::Log::mFileLevel = []() {
const char* logLevel = std::getenv("AIDGE_LOGLEVEL_FILE");
if (logLevel != nullptr) {
for (std::size_t i = 0; i < size(EnumStrings<Log::Level>::data); ++i) {
if (std::string(logLevel) == EnumStrings<Log::Level>::data[i]) {
return static_cast<Log::Level>(i);
}
}
}
return Debug;
}();
std::string Aidge::Log::mFileName = []() {
const char* logFile = std::getenv("AIDGE_LOG_FILE");
if (logFile != nullptr) {
return std::string(logFile);
}
return std::string();
}();
std::unique_ptr<FILE, decltype(&std::fclose)> Aidge::Log::mFile {nullptr, nullptr};
void Aidge::Log::log(Level level, const std::string& msg) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment