common/log: write log importance

When colors aren't used, write the log importance to stderr. This makes
it easier to grep for errors and avoids mistaking error messages for
debug messages.

This is [1] ported to Sway.

[1]: https://github.com/swaywm/wlroots/pull/2149
master
Simon Ser 4 years ago
parent a68c6a00ca
commit 1dbb699036
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48

@ -45,6 +45,13 @@ static const char *verbosity_colors[] = {
[SWAY_DEBUG ] = "\x1B[1;90m", [SWAY_DEBUG ] = "\x1B[1;90m",
}; };
static const char *verbosity_headers[] = {
[SWAY_SILENT] = "",
[SWAY_ERROR] = "[ERROR]",
[SWAY_INFO] = "[INFO]",
[SWAY_DEBUG] = "[DEBUG]",
};
static void timespec_sub(struct timespec *r, const struct timespec *a, static void timespec_sub(struct timespec *r, const struct timespec *a,
const struct timespec *b) { const struct timespec *b) {
const long NSEC_PER_SEC = 1000000000; const long NSEC_PER_SEC = 1000000000;
@ -84,6 +91,8 @@ static void sway_log_stderr(sway_log_importance_t verbosity, const char *fmt,
if (colored && isatty(STDERR_FILENO)) { if (colored && isatty(STDERR_FILENO)) {
fprintf(stderr, "%s", verbosity_colors[c]); fprintf(stderr, "%s", verbosity_colors[c]);
} else {
fprintf(stderr, "%s ", verbosity_headers[c]);
} }
vfprintf(stderr, fmt, args); vfprintf(stderr, fmt, args);

Loading…
Cancel
Save