Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F1494647
log.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Size
2 KB
Referenced Files
None
Subscribers
None
log.cpp
View Options
//===-- support/log.cpp -----------------------------------------*- C++ -*-===//
//
// The RoSA Framework
//
//===----------------------------------------------------------------------===//
///
/// \file support/log.cpp
///
/// \author David Juhasz (david.juhasz@tuwien.ac.at)
///
/// \date 2017
///
/// \brief Implementation for rosa/support/log.h.
///
//===----------------------------------------------------------------------===//
#include
"rosa/support/log.h"
#include
"rosa/support/debug.hpp"
// NOLINT
#include
"rosa/support/terminal_colors.h"
#include
<array>
namespace
rosa
{
/// Textual representation of \c rosa::LogLevel values.
///
/// \note Do not index with \c rosa::LogLevel::NumLogLevels!
constexpr
std
::
array
<
const
char
*
,
static_cast
<
size_t
>
(
LogLevel
::
NumLogLevels
)
>
LogLevelStrings
{{
"ERROR"
,
"WARNING"
,
"INFO"
,
"DEBUG"
,
"TRACE"
}};
/// Terminal colors associated to \c rosa::LogLevel values.
///
/// \note Do not index with \c rosa::LogLevel::NumLogLevels!
constexpr
std
::
array
<
terminal
::
Color
,
static_cast
<
size_t
>
(
LogLevel
::
NumLogLevels
)
>
LogLevelColors
{{
terminal
::
Color
::
Red
,
///< color corresponding to
/// `rosa::LogLevel::Error`
terminal
::
Color
::
Yellow
,
///< color corresponding to
/// `rosa::LogLevel::Warning`
terminal
::
Color
::
Green
,
///< color corresponding to
/// `rosa::LogLevel::Info`
terminal
::
Color
::
Blue
,
///< color corresponding to
/// `rosa::LogLevel::Debug`
terminal
::
Color
::
Default
,
///< color corresponding to
/// `rosa::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
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Mar 1, 6:51 PM (18 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
281607
Default Alt Text
log.cpp (2 KB)
Attached To
Mode
R20 SoC_Rosa_repo
Attached
Detach File
Event Timeline
Log In to Comment