summaryrefslogtreecommitdiff
path: root/sway/log.c
diff options
context:
space:
mode:
authorDrew DeVault <[email protected]>2015-10-27 13:51:00 -0400
committerDrew DeVault <[email protected]>2015-10-27 13:51:00 -0400
commit36526e8cb2bfdfaf0b6c1f5679b8cf7a1f0db27c (patch)
treefdef312778092e9588dc3a1b4aa8d174a6398b2d /sway/log.c
parenteb847a1b1ce122f6621de0fb76e381bf0d10b317 (diff)
parent48c5325909f86e36e0afb99affac8f576254ab07 (diff)
Merge pull request #206 from sce/debuglog
commands: Learn 'debuglog'.
Diffstat (limited to 'sway/log.c')
-rw-r--r--sway/log.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sway/log.c b/sway/log.c
index 62be73e5..2ad9657d 100644
--- a/sway/log.c
+++ b/sway/log.c
@@ -11,6 +11,7 @@
#include <execinfo.h>
int colored = 1;
+log_importance_t loglevel_default = L_ERROR;
log_importance_t v = L_SILENT;
static const char *verbosity_colors[] = {
@@ -21,11 +22,29 @@ static const char *verbosity_colors[] = {
};
void init_log(log_importance_t verbosity) {
+ if (verbosity != L_DEBUG) {
+ // command "debuglog" needs to know the user specified log level when
+ // turning off debug logging.
+ loglevel_default = verbosity;
+ }
v = verbosity;
signal(SIGSEGV, error_handler);
signal(SIGABRT, error_handler);
}
+void set_log_level(log_importance_t verbosity) {
+ v = verbosity;
+}
+
+void reset_log_level(void) {
+ v = loglevel_default;
+}
+
+bool toggle_debug_logging(void) {
+ v = (v == L_DEBUG) ? loglevel_default : L_DEBUG;
+ return (v == L_DEBUG);
+}
+
void sway_log_colors(int mode) {
colored = (mode == 1) ? 1 : 0;
}