]> err.no Git - systemd/commitdiff
journal: introduce mandatory sd_journal_printf() priority parameter
authorLennart Poettering <lennart@poettering.net>
Sat, 17 Dec 2011 00:32:49 +0000 (01:32 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 17 Dec 2011 00:32:49 +0000 (01:32 +0100)
src/journal/journal-send.c
src/journal/sd-journal.h

index e2575a9805f9c572a3b95bee4942c5bf508d3d6a..238d64c13eb698614fc390204c41d14140b6c7db 100644 (file)
@@ -52,30 +52,33 @@ retry:
         return fd;
 }
 
-int sd_journal_print(const char *format, ...) {
+int sd_journal_print(int priority, const char *format, ...) {
         int r;
         va_list ap;
 
         va_start(ap, format);
-        r = sd_journal_printv(format, ap);
+        r = sd_journal_printv(priority, format, ap);
         va_end(ap);
 
         return r;
 }
 
-int sd_journal_printv(const char *format, va_list ap) {
-        char buffer[8 + LINE_MAX];
-        struct iovec iov;
+int sd_journal_printv(int priority, const char *format, va_list ap) {
+        char buffer[8 + LINE_MAX], p[11];
+        struct iovec iov[2];
+
+        snprintf(p, sizeof(p), "PRIORITY=%i", priority & LOG_PRIMASK);
+        char_array_0(p);
 
         memcpy(buffer, "MESSAGE=", 8);
         vsnprintf(buffer+8, sizeof(buffer) - 8, format, ap);
-
         char_array_0(buffer);
 
         zero(iov);
-        IOVEC_SET_STRING(iov, buffer);
+        IOVEC_SET_STRING(iov[0], buffer);
+        IOVEC_SET_STRING(iov[1], p);
 
-        return sd_journal_sendv(&iov, 1);
+        return sd_journal_sendv(iov, 2);
 }
 
 int sd_journal_send(const char *format, ...) {
index b167dcf097bdda01480686907e7e973ab64ddf8d..05a929d91053c9129f74ceba38f7793d99673334 100644 (file)
@@ -45,8 +45,8 @@
 
 /* Write to daemon */
 
-int sd_journal_print(const char *format, ...) __attribute__ ((format (printf, 1, 2)));
-int sd_journal_printv(const char *format, va_list ap);
+int sd_journal_print(int piority, const char *format, ...) __attribute__ ((format (printf, 2, 3)));
+int sd_journal_printv(int priority, const char *format, va_list ap);
 
 int sd_journal_send(const char *format, ...) __attribute__((sentinel));
 int sd_journal_sendv(const struct iovec *iov, int n);