aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-01-25 17:02:36 -0500
committerAnthony G. Basile <blueness@gentoo.org>2015-01-25 17:02:36 -0500
commitd08c44759ababc16e6ea53ca2477e73e7286e1b5 (patch)
treeba432a55963d2ec3bee18fc19ea661c460f99337
parentutil: Add some missing hidden_file() suffixes (diff)
downloadeudev-d08c44759ababc16e6ea53ca2477e73e7286e1b5.tar.gz
eudev-d08c44759ababc16e6ea53ca2477e73e7286e1b5.tar.bz2
eudev-d08c44759ababc16e6ea53ca2477e73e7286e1b5.zip
log: add new log output mode, that prints to console, but
prefixes with syslog priority This is useful when we execute our own programs, reading output from its STDERR, and want to retain priority information. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-rw-r--r--src/shared/log.c10
-rw-r--r--src/shared/log.h1
2 files changed, 9 insertions, 2 deletions
diff --git a/src/shared/log.c b/src/shared/log.c
index 69f23fead..d4df4dffd 100644
--- a/src/shared/log.c
+++ b/src/shared/log.c
@@ -244,14 +244,19 @@ static int write_to_console(
const char *object,
const char *buffer) {
- char location[64];
- struct iovec iovec[5] = {};
+ char location[64], prefix[1 + DECIMAL_STR_MAX(int) + 2];
+ struct iovec iovec[6] = {};
unsigned n = 0;
bool highlight;
if (console_fd < 0)
return 0;
+ if (log_target == LOG_TARGET_CONSOLE_PREFIXED) {
+ sprintf(prefix, "<%i>", level);
+ IOVEC_SET_STRING(iovec[n++], prefix);
+ }
+
highlight = LOG_PRI(level) <= LOG_ERR && show_color;
if (show_location) {
@@ -540,6 +545,7 @@ int log_get_max_level(void) {
}
static const char *const log_target_table[] = {
[LOG_TARGET_CONSOLE] = "console",
+ [LOG_TARGET_CONSOLE_PREFIXED] = "console-prefixed",
[LOG_TARGET_KMSG] = "kmsg",
[LOG_TARGET_SYSLOG] = "syslog",
[LOG_TARGET_SYSLOG_OR_KMSG] = "syslog-or-kmsg",
diff --git a/src/shared/log.h b/src/shared/log.h
index 485f3fa0f..9d4f64d6c 100644
--- a/src/shared/log.h
+++ b/src/shared/log.h
@@ -28,6 +28,7 @@
typedef enum LogTarget{
LOG_TARGET_CONSOLE,
+ LOG_TARGET_CONSOLE_PREFIXED,
LOG_TARGET_KMSG,
LOG_TARGET_JOURNAL,
LOG_TARGET_JOURNAL_OR_KMSG,