summaryrefslogtreecommitdiff
path: root/poezio/core
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-04-11 18:50:15 +0200
committermathieui <mathieui@mathieui.net>2021-04-11 18:50:31 +0200
commit1640a90a632ebe74a06602adc60fa8f1508fd7e5 (patch)
tree91a93cb99ba9be6f7783ea6e9122186dfe1ad4ed /poezio/core
parent57cd999f7081d94fb1c623665e016576725b5353 (diff)
downloadpoezio-1640a90a632ebe74a06602adc60fa8f1508fd7e5.tar.gz
poezio-1640a90a632ebe74a06602adc60fa8f1508fd7e5.tar.bz2
poezio-1640a90a632ebe74a06602adc60fa8f1508fd7e5.tar.xz
poezio-1640a90a632ebe74a06602adc60fa8f1508fd7e5.zip
feature: add a /debug command to change logging level dynamically
And changing the path too
Diffstat (limited to 'poezio/core')
-rw-r--r--poezio/core/command_defs.py7
-rw-r--r--poezio/core/commands.py14
2 files changed, 18 insertions, 3 deletions
diff --git a/poezio/core/command_defs.py b/poezio/core/command_defs.py
index 28bb053c..770b3492 100644
--- a/poezio/core/command_defs.py
+++ b/poezio/core/command_defs.py
@@ -442,4 +442,11 @@ def get_commands(commands: CommandCore, completions: CompletionCore, plugin_mana
"shortdesc": "Reload the config. You can achieve the same by "
"sending SIGUSR1 to poezio.",
},
+ {
+ "name": "debug",
+ "func": commands.debug,
+ "usage": "[debug_filename]",
+ "shortdesc": "Enable or disable debug logging according to the "
+ "presence of [debug_filename].",
+ },
]
diff --git a/poezio/core/commands.py b/poezio/core/commands.py
index 75f90279..85aa76e8 100644
--- a/poezio/core/commands.py
+++ b/poezio/core/commands.py
@@ -14,9 +14,7 @@ from slixmpp.xmlstream.stanzabase import StanzaBase
from slixmpp.xmlstream.handler import Callback
from slixmpp.xmlstream.matcher import StanzaPath
-from poezio import common
-from poezio import tabs
-from poezio import multiuserchat as muc
+from poezio import common, config as config_module, tabs, multiuserchat as muc
from poezio.bookmarks import Bookmark
from poezio.config import config, DEFAULT_CONFIG
from poezio.contact import Contact, Resource
@@ -1356,6 +1354,16 @@ class CommandCore:
"""
self.core.reload_config()
+ @command_args_parser.raw
+ def debug(self, args):
+ """/debug [filename]"""
+ if not args.strip():
+ config_module.setup_logging('')
+ self.core.information('Debug logging disabled!', 'Info')
+ elif args:
+ config_module.setup_logging(args)
+ self.core.information(f'Debug logging to {args} enabled!', 'Info')
+
def dumb_callback(*args, **kwargs):
"mock callback"