- Easily create a logger enhanced with rich logging handler
- Traceback formatting that you can easily following via rich Traceback
- Non-blocking hotkey monitoring via keyboard (e.g. enable debug logging on the fly)
essentialsx
is registered on pypi and can be installed via pip
pip install essentialsx
from essentialsx import Essentials
essentials = Essentials()
A simple wrapper for creating a logger (uses built-in logging
module) was created which also adds in the rich logging handler for a beautiful logging experience. A couple optional parameters exist for this wrapper:
Parameter | Functionality |
---|---|
name | The name space to use for the logger. Uses root by default. |
logfile | Creates a file handler at this path and logs entries to this file in addition to the console handler. |
loglevel | The loglevel to be used (INFO, DEBUG, WARNING, ERROR, CRITICAL). Uses INFO by default. |
# Create a basic logger with console handler
log = essentials.get_logger()
log.info('Logging to console works!')
# Create a logger with log file handler
log = essentials.get_logger(logfile='/tmp/logfile.log')
log.info('Logging to console and file works!')
There are a few wrapper functions for the keyboard hotkey functions, this is to help keep track of hotkeys in use which gives us the opportunity to provide some predefined hotkeys. Hotkeys will need to be registered via the register_hotkey()
function and will not be active (including the predefined hotkeys) until the enable_hotkeys()
function is called. To disable hotkeys once they have been enabled, simply call the disable_hotkeys()
function.
Hotkey | Functionality |
---|---|
ctrl+alt+d |
Toggles debug log level |
ctrl+alt+l |
Lists all registered hotkeys |
# Register a function with no arguments
def foo():
print('bar')
essentials.register_hotkey('ctrl+f', foo)
>> bar
# Register a function with arguments
def bar(baz):
print(baz)
essentials.register_hotkey('ctrl+b', bar, args=('baz',))
>> baz
Note: Registered hotkeys aren't active until
enable_hotkeys()
is called.
# Enable all registered hotkeys
essentials.enable_hotkeys()
# Disable all enabled hotkeys
essentials.disable_hotkeys()