nestlog: streamlining + comments + markdown
This commit is contained in:
parent
5339e9b124
commit
beeb927082
6 changed files with 84 additions and 53 deletions
|
|
@ -33,6 +33,8 @@ namespace xo {
|
|||
void print(std::ostream & os) const {
|
||||
if ((flags_ & CF_ColorOn) && (color_ > 0)) {
|
||||
switch(encoding_) {
|
||||
case CE_None:
|
||||
break;
|
||||
case CE_Ansi:
|
||||
os << "\033[" << color_ << "m";
|
||||
break;
|
||||
|
|
@ -45,8 +47,16 @@ namespace xo {
|
|||
if (flags_ & CF_Contents)
|
||||
os << contents_;
|
||||
|
||||
if ((flags_ & CF_ColorOff) && (color_ > 0))
|
||||
os << "\033[0m";
|
||||
if ((flags_ & CF_ColorOff) && (color_ > 0)) {
|
||||
switch(encoding_) {
|
||||
case CE_None:
|
||||
break;
|
||||
case CE_Ansi:
|
||||
case CE_Xterm:
|
||||
os << "\033[0m";
|
||||
break;
|
||||
}
|
||||
}
|
||||
} /*print*/
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -5,13 +5,28 @@
|
|||
namespace xo {
|
||||
enum class log_level : std::uint32_t {
|
||||
/* control log message severity
|
||||
* silent > severe > error > warning > info > chatty
|
||||
* silent > always > severe > error > warning > info > chatty > never
|
||||
*
|
||||
* never:
|
||||
* used internally e.g. by XO_ENTER1()
|
||||
* a log message with this severity will never be printed
|
||||
*
|
||||
* always:
|
||||
* use with XO_ENTER1():
|
||||
* scope log(XO_ENTER1(always, mydebug_flag));
|
||||
* to log message whenever mydebug_flag is true (for any .min_log_level except silent)
|
||||
*
|
||||
* silent:
|
||||
* use in log_config to suppress all log messages
|
||||
*/
|
||||
never,
|
||||
verbose,
|
||||
chatty,
|
||||
info,
|
||||
warning,
|
||||
error,
|
||||
severe,
|
||||
always,
|
||||
silent,
|
||||
|
||||
default_level = error
|
||||
|
|
|
|||
|
|
@ -17,7 +17,13 @@ namespace xo {
|
|||
class state_impl;
|
||||
|
||||
# define XO_ENTER0(lvl) xo::scope_setup(xo::log_level::lvl, xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
||||
# define XO_ENTER1(lvl, debug_flag) xo::scope_setup(xo::log_level::lvl, xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__, debug_flag)
|
||||
# define XO_ENTER1(lvl, debug_flag) XO_ENTER2(lvl, debug_flag, __PRETTY_FUNCTION__)
|
||||
# define XO_ENTER2(lvl, debug_flag, name1) xo::scope_setup((debug_flag ? xo::log_level::lvl : xo::log_level::never), xo::log_config::style, name1, __FILE__, __LINE__)
|
||||
|
||||
# define XO_DEBUG(debug_flag) XO_ENTER1(always, debug_flag)
|
||||
# define XO_DEBUG2(debug_flag, name1) XO_ENTER2(always, debug_flag, name1)
|
||||
|
||||
# define XO_LITERAL(lvl, name1, name2) xo::scope_setup(xo::log_level::lvl, FS_Literal, name1, name2, __FILE__, __LINE__)
|
||||
|
||||
//# define XO_SSETUP0() xo::scope_setup(__FUNCTION__)
|
||||
//# define XO_SSETUP0(lvl) xo::scope_setup(xo::log_level::lvl, xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__)
|
||||
|
|
@ -27,8 +33,8 @@ namespace xo {
|
|||
/* establish scope using current function name */
|
||||
# define XO_SCOPE(name, lvl) xo::scope name(xo::scope_setup(xo::log_level::lvl, xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__))
|
||||
/* like XO_SCOPE(name), but also set enabled flag */
|
||||
# define XO_SCOPE2(name, debug_flag) xo::scope name(xo::scope_setup(xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__, debug_flag))
|
||||
# define XO_SCOPE_DISABLED(name) xo::scope name(xo::scope_setup(xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__, false))
|
||||
//# define XO_SCOPE2(name, debug_flag) xo::scope name(xo::scope_setup(xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__, debug_flag))
|
||||
# define XO_SCOPE_DISABLED(name) xo::scope name(xo::scope_setup(xo::log_level::never, xo::log_config::style, __PRETTY_FUNCTION__, __FILE__, __LINE__))
|
||||
# define XO_STUB() { XO_SCOPE(logr); logr.log("STUB"); }
|
||||
|
||||
/* convenience class for basic_scope<..> construction (see below).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue