Page MenuHomePhorge

log.cpp
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None
/*******************************************************************************
*
* File: log.cpp
*
* Contents: Facility for logging
*
* Copyright 2017
*
* Author: David Juhasz (david.juhasz@tuwien.ac.at)
*
******************************************************************************/
#include "rosa/support/log.h"
#include "rosa/support/debug.hpp"
#include "rosa/support/terminal_colors.h"
#include <array>
namespace rosa {
// Textual representation of LogLevels.
// NOTE: Do not index with LogLevel::NumLogLevels!
constexpr std::array<const char *, static_cast<size_t>(LogLevel::NumLogLevels)>
LogLevelStrings{{"ERROR", "WARNING", "INFO", "DEBUG", "TRACE"}};
// Terminal colors associated to LogLevels.
// NOTE: Do not index with LogLevel::NumLogLevels!
constexpr std::array<terminal::Color,
static_cast<size_t>(LogLevel::NumLogLevels)>
LogLevelColors{{
terminal::Color::Red, // LogLevel::Error
terminal::Color::Yellow, // LogLevel::Warning
terminal::Color::Green, // LogLevel::Info
terminal::Color::Blue, // LogLevel::Debug
terminal::Color::Default, // LogLevel::Trace
}};
std::string logLevelToString(const LogLevel logLevel) {
ASSERT(logLevel != LogLevel::NumLogLevels);
return LogLevelStrings[static_cast<size_t>(logLevel)];
}
std::ostream &operator<<(std::ostream &os, const LogLevel logLevel) {
ASSERT(logLevel != LogLevel::NumLogLevels);
os << LogLevelColors[static_cast<size_t>(logLevel)] << "["
<< logLevelToString(logLevel) << "]" << terminal::Color::Default;
return os;
}
std::ostream LogSink(nullptr);
} // End namespace rosa

File Metadata

Mime Type
text/x-c++
Expires
Sun, Jun 8, 2:18 AM (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
150332
Default Alt Text
log.cpp (1 KB)

Event Timeline