summaryrefslogtreecommitdiff
path: root/logging.h
diff options
context:
space:
mode:
authorgreg@kroah.com <greg@kroah.com>2004-02-02 08:19:41 -0800
committerGreg KH <gregkh@suse.de>2005-04-26 21:13:20 -0700
commit95a6f4c8acafe7031087667aa556a50a6a091c93 (patch)
tree8f7775e25d9315f20c0cc44cac362976e96627d2 /logging.h
parent3a7798f4714c88021b6ac0cda3e1d818a3fa7a07 (diff)
downloadsystemd-95a6f4c8acafe7031087667aa556a50a6a091c93.tar.gz
[PATCH] rework the logging code so that each program logs with the proper name in the syslog.
Diffstat (limited to 'logging.h')
-rw-r--r--logging.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/logging.h b/logging.h
index df5922b3e6..e233ddc889 100644
--- a/logging.h
+++ b/logging.h
@@ -1,9 +1,9 @@
/*
* logging.h
*
- * Userspace devfs
+ * Simple logging functions that can be compiled away into nothing.
*
- * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com>
* Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
*
* This program is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
#define dbg_parse(format, arg...) do { } while (0)
#ifdef LOG
+#include <stdarg.h>
#include <syslog.h>
#undef info
@@ -54,9 +55,26 @@
} while (0)
#endif
-#endif /* LOG */
-
-extern int log_message (int level, const char *format, ...)
+static void log_message (int level, const char *format, ...)
__attribute__ ((format (printf, 2, 3)));
+static inline void log_message (int level, const char *format, ...)
+{
+ va_list args;
+
+ va_start(args, format);
+ vsyslog(level, format, args);
+ va_end(args);
+}
+
+/* each program must declare this variable somewhere */
+extern unsigned char logname[42];
+
+static inline void init_logging(char *program_name)
+{
+ snprintf(logname, 42,"%s[%d]", program_name, getpid());
+ openlog(logname, 0, LOG_DAEMON);
+}
+
+#endif /* LOG */
#endif