From: Konrad Kuchciak Date: Wed, 13 Sep 2017 14:00:24 +0000 (+0200) Subject: Add possibility to log to /dev/kmsg X-Git-Tag: submit/tizen/20170919.135738~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0a811a044e0cf6df29e7f62ccc98d8c91a1ae9f1;p=platform%2Fcore%2Fsystem%2Ffaultd.git Add possibility to log to /dev/kmsg Change-Id: I531f80e6506f1379b3542abc57801c453daad500 Signed-off-by: Konrad Kuchciak --- diff --git a/src/util/log.c b/src/util/log.c index ffe2dac..2317d9e 100644 --- a/src/util/log.c +++ b/src/util/log.c @@ -97,3 +97,36 @@ int log_internal(int level, fflush(stderr); return -error; } + +int log_kmsg(const char *format, ...) +{ + FILE *fd = NULL; + char *buffer = NULL; + va_list ap; + int ret; + + va_start(ap, format); + ret = vasprintf(&buffer, format, ap); + va_end(ap); + + if (ret < 0) { + ret = errno; + goto cleanup; + } + + fd = fopen("/dev/kmsg", "w"); + if (!fd) { + ret = errno; + goto cleanup; + } + + fprintf(fd, "faultd: %s\n", buffer); + fclose(fd); + ret = 0; + +cleanup: + if (buffer) + free(buffer); + + return ret; +} diff --git a/src/util/log.h b/src/util/log.h index 3537514..5c89a57 100644 --- a/src/util/log.h +++ b/src/util/log.h @@ -29,4 +29,5 @@ int log_get_max_level(void); void log_set_max_level(int level); int log_internal(int level, int error, const char *file, int __line, const char *func, const char *format, ...) __attribute__ ((format (printf, 6, 7))); int log_parse_level_name(const char *name); +int log_kmsg(const char *format, ...); #endif /* _FAUTLD_LOG_H */