Fixing issue #1971: providing log levels -10 to disable warnings and -20 to disable errors too.

This commit is contained in:
Matthias Koefferlein 2025-01-16 20:42:53 +01:00
parent 07da5a3cf2
commit a75eca5511
1 changed files with 40 additions and 24 deletions

View File

@ -392,34 +392,42 @@ WarningChannel::~WarningChannel ()
void void
WarningChannel::puts (const char *s) WarningChannel::puts (const char *s)
{ {
fputs (s, stdout); if (verbosity () >= 0) {
fputs (s, stdout);
}
} }
void void
WarningChannel::endl () WarningChannel::endl ()
{ {
fputs ("\n", stdout); if (verbosity () >= 0) {
m_new_line = true; fputs ("\n", stdout);
m_new_line = true;
}
} }
void void
WarningChannel::end () WarningChannel::end ()
{ {
if (m_colorized) { if (verbosity () >= 0) {
fputs (ANSI_RESET, stdout); if (m_colorized) {
fputs (ANSI_RESET, stdout);
}
fflush (stdout);
} }
fflush (stdout);
} }
void void
WarningChannel::begin () WarningChannel::begin ()
{ {
if (m_colorized) { if (verbosity () >= 0) {
fputs (ANSI_BLUE, stdout); if (m_colorized) {
} fputs (ANSI_BLUE, stdout);
if (m_new_line) { }
fputs ("Warning: ", stdout); if (m_new_line) {
m_new_line = false; fputs ("Warning: ", stdout);
m_new_line = false;
}
} }
} }
@ -463,34 +471,42 @@ ErrorChannel::~ErrorChannel ()
void void
ErrorChannel::puts (const char *s) ErrorChannel::puts (const char *s)
{ {
fputs (s, stderr); if (verbosity () >= -10) {
fputs (s, stderr);
}
} }
void void
ErrorChannel::endl () ErrorChannel::endl ()
{ {
fputs ("\n", stderr); if (verbosity () >= -10) {
m_new_line = true; fputs ("\n", stderr);
m_new_line = true;
}
} }
void void
ErrorChannel::end () ErrorChannel::end ()
{ {
if (m_colorized) { if (verbosity () >= -10) {
fputs (ANSI_RESET, stderr); if (m_colorized) {
fputs (ANSI_RESET, stderr);
}
fflush (stderr);
} }
fflush (stderr);
} }
void void
ErrorChannel::begin () ErrorChannel::begin ()
{ {
if (m_colorized) { if (verbosity () >= -10) {
fputs (ANSI_RED, stderr); if (m_colorized) {
} fputs (ANSI_RED, stderr);
if (m_new_line) { }
fputs ("ERROR: ", stderr); if (m_new_line) {
m_new_line = false; fputs ("ERROR: ", stderr);
m_new_line = false;
}
} }
} }