[sheepdog] [PATCH] lib: choose a correct output in logger
Hitoshi Mitake
mitake.hitoshi at gmail.com
Mon Jul 15 15:03:15 CEST 2013
Current logger chooses stderr as an output of logs in cases
logarea_init() isn't called or default formatter is used.
This patch lets logger choose stderr when a priority of logs is less
than or equal to LOG_NOTICE. If the priority is larger than or equal
to SDOG_INFO, stdout is used.
Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
---
lib/logger.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/logger.c b/lib/logger.c
index 253163d..059140f 100644
--- a/lib/logger.c
+++ b/lib/logger.c
@@ -407,8 +407,10 @@ static notrace void dolog(int prio, const char *func, int line,
memset(msg, 0, sizeof(struct logmsg));
init_logmsg(msg, &tv, prio, func, line);
len = format->formatter(str_final, MAX_MSG_SIZE, msg);
- xwrite(fileno(stderr), str_final, len);
- fflush(stderr);
+
+ FILE *f = SDOG_INFO <= prio ? stdout : stderr;
+ xwrite(fileno(f), str_final, len);
+ fflush(f);
}
}
--
1.7.5.1
More information about the sheepdog
mailing list