13#if !defined(VITA_LOG_H)
47 enum level {lALL, lDEBUG, lINFO, lOUTPUT, lWARNING, lERROR, lFATAL, lOFF};
53 static std::unique_ptr<std::ostream>
stream;
58 log &operator=(
const log &) =
delete;
62 std::ostringstream &
get(
level = lOUTPUT);
65 std::ostringstream os;
101#define vitaPRINT(level) if (level == log::lDEBUG);\
102 else if (level < log::reporting_level);\
103 else log().get(level)
105#define vitaPRINT(level) if (level < log::reporting_level);\
106 else log().get(level)
109#define vitaFATAL vitaPRINT(log::lFATAL)
110#define vitaDEBUG vitaPRINT(log::lDEBUG)
111#define vitaERROR vitaPRINT(log::lERROR)
112#define vitaINFO vitaPRINT(log::lINFO)
113#define vitaOUTPUT vitaPRINT(log::lOUTPUT)
114#define vitaWARNING vitaPRINT(log::lWARNING)
A basic console printer with integrated logger.
static std::unique_ptr< std::ostream > stream
Optional log stream.
std::ostringstream & get(level=lOUTPUT)
Sets the logging level of a message.
log()
Creates a log object.
static void setup_stream(const std::string &base)
Sets the log::stream variable with a convenient value.
static level reporting_level
Messages with a lower level aren't logged / printed.
base_t base(const value_t &v)
A simple shortcut for casting an value_t to base_t.
The main namespace for the project.