expose log level in emit
Signed-off-by: Andy Green <andy.green@linaro.org>
diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index 333db4c..f4d3319 100644
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -2150,37 +2150,40 @@
return 0;
}
-static void lwsl_emit_stderr(const char *line)
+static void lwsl_emit_stderr(int level, const char *line)
{
- fprintf(stderr, "%s", line);
+ char buf[300];
+ struct timeval tv;
+ int pos = 0;
+ int n;
+
+ gettimeofday(&tv, NULL);
+
+ buf[0] = '\0';
+ for (n = 0; n < LLL_COUNT; n++)
+ if (level == (1 << n)) {
+ pos = sprintf(buf, "[%ld:%04d] %s: ", tv.tv_sec,
+ (int)(tv.tv_usec / 100), log_level_names[n]);
+ break;
+ }
+
+ fprintf(stderr, "%s%s", buf, line);
}
void _lws_log(int filter, const char *format, ...)
{
char buf[256];
va_list ap;
- int n;
- int pos = 0;
- struct timeval tv;
if (!(log_level & filter))
return;
- gettimeofday(&tv, NULL);
-
- for (n = 0; n < LLL_COUNT; n++)
- if (filter == (1 << n)) {
- pos = sprintf(buf, "[%ld:%04d] %s: ", tv.tv_sec,
- (int)(tv.tv_usec / 100), log_level_names[n]);
- break;
- }
-
va_start(ap, format);
- vsnprintf(buf + pos, (sizeof buf) - pos, format, ap);
+ vsnprintf(buf, (sizeof buf), format, ap);
buf[(sizeof buf) - 1] = '\0';
va_end(ap);
- lwsl_emit(buf);
+ lwsl_emit(filter, buf);
}
/**