summaryrefslogtreecommitdiff
path: root/poezio
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
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')
-rw-r--r--poezio/config.py2
-rw-r--r--poezio/core/command_defs.py7
-rw-r--r--poezio/core/commands.py14
3 files changed, 19 insertions, 4 deletions
diff --git a/poezio/config.py b/poezio/config.py
index 102c5dd0..5ea88a76 100644
--- a/poezio/config.py
+++ b/poezio/config.py
@@ -679,7 +679,7 @@ def post_logging_setup():
LOGGING_CONFIG = {
'version': 1,
- 'disable_existing_loggers': True,
+ 'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '%(asctime)s %(levelname)s:%(module)s:%(message)s'
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"