aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-12-09 01:15:38 +0100
committerLouis Burda <quent.burda@gmail.com>2023-12-09 01:15:38 +0100
commite5022d756a6a884d7d380c5f945284068962c9f1 (patch)
tree5569321d54b8eadfd2a19f7a2ef8959367ca03a6 /src/main.c
parent3c76a4de3dc2c97ab95a46184975556c35cb8645 (diff)
downloadsxkbd-e5022d756a6a884d7d380c5f945284068962c9f1.tar.gz
sxkbd-e5022d756a6a884d7d380c5f945284068962c9f1.zip
Improve logging
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index 4146a24..0422fdb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -50,7 +50,7 @@ main(void)
}
stop = board_millis();
- DEBUG("Main loop: %i ms", stop - start);
+ DEBUG(LOG_TIMING, "Main loop: %i ms", stop - start);
start = stop;
}
@@ -134,17 +134,36 @@ process_cmd(char *cmd)
arg = cmd + strlen(cmd);
}
- if (!strcmp(cmd, "log")) {
+ if (!strcmp(cmd, "log-level")) {
if (!strcmp(arg, "")) {
printf("Levels: debug, info, warn, err\n");
} else if (!strcmp(arg, "debug")) {
- loglevel = LOG_DEBUG;
+ log_level_min = LOG_DEBUG;
} else if (!strcmp(arg, "info")) {
- loglevel = LOG_INFO;
+ log_level_min = LOG_INFO;
} else if (!strcmp(arg, "warn")) {
- loglevel = LOG_WARN;
+ log_level_min = LOG_WARN;
} else {
- printf("Invalid log level\n");
+ printf("Invalid log level: %s\n", arg);
+ }
+ } else if (!strcmp(cmd, "log-groups")) {
+ log_group_mask = 0;
+ while (1) {
+ tok = strchr(arg, ',');
+ if (tok) *tok = '\0';
+ if (!strcmp(arg, "all")) {
+ log_group_mask |= LOG_ALL;
+ } else if (!strcmp(arg, "keymat")) {
+ log_group_mask |= LOG_KEYMAT;
+ } else if (!strcmp(arg, "timing")) {
+ log_group_mask |= LOG_TIMING;
+ } else if (strspn(arg, "\t ") == strlen(arg)) {
+ /* ignore */
+ } else {
+ printf("Invalid log facility: %s\n", arg);
+ }
+ if (!tok) break;
+ arg = tok + 1;
}
} else if (!strcmp(cmd, "warn")) {
if (*warnlog) {