feature: add a /debug command to change logging level dynamically
And changing the path too
This commit is contained in:
parent
57cd999f70
commit
1640a90a63
4 changed files with 25 additions and 4 deletions
|
@ -34,6 +34,12 @@ These commands work in *any* tab.
|
||||||
available commands. If it has a valid command as an argument, this command
|
available commands. If it has a valid command as an argument, this command
|
||||||
will show the usage and the help for the given command.
|
will show the usage and the help for the given command.
|
||||||
|
|
||||||
|
/debug
|
||||||
|
**Usage:** ``/debug [filename]
|
||||||
|
|
||||||
|
Reset logging and enable debugging to ``[filename]``. If the filename
|
||||||
|
is empty, debug logging will be disabled.
|
||||||
|
|
||||||
/join
|
/join
|
||||||
**Usage:** ``/join [room_name][@server][/nick] [password]``
|
**Usage:** ``/join [room_name][@server][/nick] [password]``
|
||||||
|
|
||||||
|
|
|
@ -679,7 +679,7 @@ def post_logging_setup():
|
||||||
|
|
||||||
LOGGING_CONFIG = {
|
LOGGING_CONFIG = {
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'disable_existing_loggers': True,
|
'disable_existing_loggers': False,
|
||||||
'formatters': {
|
'formatters': {
|
||||||
'simple': {
|
'simple': {
|
||||||
'format': '%(asctime)s %(levelname)s:%(module)s:%(message)s'
|
'format': '%(asctime)s %(levelname)s:%(module)s:%(message)s'
|
||||||
|
|
|
@ -442,4 +442,11 @@ def get_commands(commands: CommandCore, completions: CompletionCore, plugin_mana
|
||||||
"shortdesc": "Reload the config. You can achieve the same by "
|
"shortdesc": "Reload the config. You can achieve the same by "
|
||||||
"sending SIGUSR1 to poezio.",
|
"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].",
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
|
@ -14,9 +14,7 @@ from slixmpp.xmlstream.stanzabase import StanzaBase
|
||||||
from slixmpp.xmlstream.handler import Callback
|
from slixmpp.xmlstream.handler import Callback
|
||||||
from slixmpp.xmlstream.matcher import StanzaPath
|
from slixmpp.xmlstream.matcher import StanzaPath
|
||||||
|
|
||||||
from poezio import common
|
from poezio import common, config as config_module, tabs, multiuserchat as muc
|
||||||
from poezio import tabs
|
|
||||||
from poezio import multiuserchat as muc
|
|
||||||
from poezio.bookmarks import Bookmark
|
from poezio.bookmarks import Bookmark
|
||||||
from poezio.config import config, DEFAULT_CONFIG
|
from poezio.config import config, DEFAULT_CONFIG
|
||||||
from poezio.contact import Contact, Resource
|
from poezio.contact import Contact, Resource
|
||||||
|
@ -1356,6 +1354,16 @@ class CommandCore:
|
||||||
"""
|
"""
|
||||||
self.core.reload_config()
|
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):
|
def dumb_callback(*args, **kwargs):
|
||||||
"mock callback"
|
"mock callback"
|
||||||
|
|
Loading…
Reference in a new issue