GUI for Python's logging module
This is a graphical log viewer for Python’s standard logging module. It can be targeted with a SocketHandler with no additional setup (see Usage).
The program is in beta: it’s lacking some features and may be unstable, but it works. cutelog is cross-platform, although it’s mainly written and optimized for Linux.
Allows any number of simultaneous connections
Customizable look of log levels and columns, with presets for each
Filtering based on level and namespace, as well as filtering by searching
Search through all records or only through filtered ones
View exception tracebacks or messages in a separate window
Dark theme (with its own set of colors for levels)
Pop tabs out of the window, merge records of multiple tabs into one
Save/load records to/from a file in JSON format
If you’re using Linux, install PyQt5 (or PySide2) from your package manager before installing cutelog (package name is probably python3-pyqt5 or python-pyqt5). Or just run pip install pyqt5 to install it from pip, which is sub-optimal.
$ pip install --upgrade cutelog
Or install the latest development version from the source:
$ pip install git+https://github.com/busimus/cutelog.git
Python 3.5 (or newer)
PyQt5 (preferably 5.6 or newer) or PySide2
Put the following into your code:
import logging from logging.handlers import SocketHandler log = logging.getLogger('Root logger') log.setLevel(1) # to send all messages to cutelog socket_handler = SocketHandler('127.0.0.1', 19996) # default listening address log.addHandler(socket_handler) log.info('Hello world!')
Afterwards it’s recommended to designate different loggers for different parts of your program with log_2 = log.getChild(“Child logger”). This will create “log namespaces” which allow you to filter out messages from various subsystems of your program.
Visit the project’s GitHub page.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.