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
This commit is contained in:
Simon Ser 2020-12-10 09:26:02 +01:00
parent a68c6a00ca
commit 1dbb699036
Failed to generate hash of commit

View file

@ -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);