summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorBenoit Dejean <bdejean@gmail.com>2015-06-21 21:05:11 +0200
committerBenoit Dejean <bdejean@gmail.com>2015-07-15 18:38:27 +0200
commit65c5ca842f4197c3257295fde5068491fb097a36 (patch)
treefe4fc886d44865732cfcaeb6b1118e9cd0517320 /sysdeps
parentedd08e6fd67085f6f1d273dc544b4755beee5299 (diff)
downloadlibgtop-65c5ca842f4197c3257295fde5068491fb097a36.tar.gz
Add a level (DEBUG, WARNING, ERROR) to printing functions.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/common/error.c39
1 files changed, 31 insertions, 8 deletions
diff --git a/sysdeps/common/error.c b/sysdeps/common/error.c
index a7a45814..c36b81dd 100644
--- a/sysdeps/common/error.c
+++ b/sysdeps/common/error.c
@@ -26,22 +26,45 @@
#include <glibtop/error.h>
+enum MESSAGE_LEVEL {
+ MESSAGE_DEBUG,
+ MESSAGE_WARNING,
+ MESSAGE_ERROR
+};
+
#define DEFAULT_NAME "LibGTop-Server"
/* Prints error message and exits. */
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
- : DEFAULT_NAME);
+ : DEFAULT_NAME,
+ level);
}
void
glibtop_error_vr (glibtop *server, const char *format, va_list args)
{
- print_server_name (server);
+ print_start (server, MESSAGE_ERROR);
vfprintf (stderr, format, args);
fputc('\n', stderr);
@@ -55,7 +78,7 @@ glibtop_error_vr (glibtop *server, const char *format, va_list args)
void
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);
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
glibtop_warn_vr (glibtop *server, const char *format, va_list args)
{
- print_server_name (server);
+ print_start (server, MESSAGE_WARNING);
vfprintf (stderr, format, args);
fputc('\n', stderr);
@@ -81,7 +104,7 @@ glibtop_warn_vr (glibtop *server, const char *format, va_list args)
void
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);
fprintf (stderr, ": %s\n", g_strerror (error));
@@ -136,7 +159,7 @@ glibtop_warn_io_r (glibtop *server, const char *format, ...)
void
glibtop_debug_vr (glibtop *server, const char *format, va_list args)
{
- print_server_name (server);
+ print_start (server, MESSAGE_DEBUG);
vfprintf (stderr, format, args);
fputc('\n', stderr);
}