Add a level (DEBUG, WARNING, ERROR) to printing functions.

This commit is contained in:
Benoit Dejean
2015-06-21 21:05:11 +02:00
parent edd08e6fd6
commit 65c5ca842f

View File

@@ -26,22 +26,45 @@
#include <glibtop/error.h> #include <glibtop/error.h>
enum MESSAGE_LEVEL {
MESSAGE_DEBUG,
MESSAGE_WARNING,
MESSAGE_ERROR
};
#define DEFAULT_NAME "LibGTop-Server" #define DEFAULT_NAME "LibGTop-Server"
/* Prints error message and exits. */ /* Prints error message and exits. */
static void static void
print_server_name (const glibtop *server) print_start (const glibtop *server, int message_level)
{ {
fprintf (stderr, "%s: ", server && server->name const char *level;
switch (message_level) {
case MESSAGE_DEBUG:
level = "DEBUG";
break;
case MESSAGE_WARNING:
level = "WARNING";
break;
case MESSAGE_ERROR:
level = "ERROR";
break;
default:
level = "UNKNOWN";
}
fprintf (stderr, "%s: [%s] ", server && server->name
? server->name ? server->name
: DEFAULT_NAME); : DEFAULT_NAME,
level);
} }
void void
glibtop_error_vr (glibtop *server, const char *format, va_list args) glibtop_error_vr (glibtop *server, const char *format, va_list args)
{ {
print_server_name (server); print_start (server, MESSAGE_ERROR);
vfprintf (stderr, format, args); vfprintf (stderr, format, args);
fputc('\n', stderr); fputc('\n', stderr);
@@ -55,7 +78,7 @@ glibtop_error_vr (glibtop *server, const char *format, va_list args)
void void
glibtop_error_io_vr (glibtop *server, const char *format, int error, va_list args) glibtop_error_io_vr (glibtop *server, const char *format, int error, va_list args)
{ {
print_server_name (server); print_start (server, MESSAGE_ERROR);
vfprintf (stderr, format, args); vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error)); fprintf (stderr, ": %s\n", g_strerror (error));
@@ -69,7 +92,7 @@ glibtop_error_io_vr (glibtop *server, const char *format, int error, va_list arg
void void
glibtop_warn_vr (glibtop *server, const char *format, va_list args) glibtop_warn_vr (glibtop *server, const char *format, va_list args)
{ {
print_server_name (server); print_start (server, MESSAGE_WARNING);
vfprintf (stderr, format, args); vfprintf (stderr, format, args);
fputc('\n', stderr); fputc('\n', stderr);
@@ -81,7 +104,7 @@ glibtop_warn_vr (glibtop *server, const char *format, va_list args)
void void
glibtop_warn_io_vr (glibtop *server, const char *format, int error, va_list args) glibtop_warn_io_vr (glibtop *server, const char *format, int error, va_list args)
{ {
print_server_name (server); print_start (server, MESSAGE_WARNING);
vfprintf (stderr, format, args); vfprintf (stderr, format, args);
fprintf (stderr, ": %s\n", g_strerror (error)); fprintf (stderr, ": %s\n", g_strerror (error));
@@ -136,7 +159,7 @@ glibtop_warn_io_r (glibtop *server, const char *format, ...)
void void
glibtop_debug_vr (glibtop *server, const char *format, va_list args) glibtop_debug_vr (glibtop *server, const char *format, va_list args)
{ {
print_server_name (server); print_start (server, MESSAGE_DEBUG);
vfprintf (stderr, format, args); vfprintf (stderr, format, args);
fputc('\n', stderr); fputc('\n', stderr);
} }