Skip to main content

cutelog2

PyPI Python versions CI License

cutelog2 is a PyQt6/PySide6 fork of cutelog by Alexander Bus, a graphical log viewer for Python’s standard logging module. It’s unaffiliated with the original project; see the migration PR for what changed and why. It can be targeted with a SocketHandler with no additional setup (see Usage). cutelog2 is cross-platform, although it’s mainly written and optimized for Linux.

Features

  • 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

  • Display extra fields under the message with Extra mode

  • 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

Installation

If you’re using Linux, install PySide6 (or PyQt6) from your package manager before installing cutelog2 (package name is probably python3-pyside6 or python-pyside6). Or just run pip install pyside6 to install it from pip, which is sub-optimal.

$ pip install --upgrade cutelog2

Or install the latest development version from the source:

$ pip install git+https://github.com/eachimei/cutelog2.git

Choosing a Qt binding

cutelog2 runs on either PySide6 or PyQt6, and both are covered by CI. PySide6 is installed by default because it is LGPLv3, so it places no licensing obligation on you; PyQt6 is GPLv3 or commercial.

To use PyQt6 instead:

$ pip install cutelog2[pyqt6]

If both are installed, cutelog2 prefers PySide6. Override with the QT_API environment variable, which accepts pyside6 or pyqt6:

$ QT_API=pyqt6 cutelog2

Requirements

  • Python 3.10 (or newer)

  • PySide6 or PyQt6

  • QtPy

Usage

  1. Start cutelog2

  2. 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.

Code, issues, changelog

Visit the project’s GitHub page.

Metadata

Release files for cutelog2 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cutelog2 1.1.0
File Size Uploaded
cutelog2-1.1.0.tar.gz 131.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cutelog2 1.1.0
File Interpreter ABI Platform
cutelog2-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 249.1 kB

Release files / cutelog2-1.1.0.tar.gz

Download URL cutelog2-1.1.0.tar.gz
Size 131.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3aa431e1454afc31f1b2e4cfc5067a79356fcb120d1d031a823e8365d8e6c931
BLAKE2b-256 checksum
How to use checksums
65611c84085a7a788fa8a6dc13aa0b93629eb3ad7f7b53de939dedc43ada0717
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / cutelog2-1.1.0-py3-none-any.whl

Download URL cutelog2-1.1.0-py3-none-any.whl
Size 117.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b999878624b6b6b406ac22f92838c8caf5ac309ec2e3e628f0254ab43760919d
BLAKE2b-256 checksum
How to use checksums
9590ef3e57594324079fbf1404354fa584a46a2bad45d26463ebcf7e4fa0b6e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.1

2 release files

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page