Skip to main content

MachineLogMonitor

MachineLogMonitor is a PySide6 desktop application for observing live text logs from CAN, RS232, and CAN trace files. It only reads: no CAN frame and no serial byte is sent from application code — the source layer contains no send or write call, enforced by a test. On CAN, listen-only mode is requested where the backend supports it.

Features

  • Monitor exactly one selected source: a CAN bus, an RS232 serial port, or a CAN trace file
  • Receive-only by design — no send or write call exists in the source layer
  • Multiple filtered monitor views over one shared ring buffer; pause and clear per view without losing incoming data
  • Configurable substring rules that color lines as DEBUG, INFO, WARN, and ERROR
  • Optional logging to disk: raw stream and per-monitor files, written while a source is connected
  • Trace playback at 0.5×, 1×, 2×, 10×, or instant speed
  • RS232 sources accept pyserial URLs (for example socket://host:port) in addition to COM port names
  • JSON configuration with safe defaults: missing keys are restored, a malformed file is never overwritten until an explicit save
  • Optional dependency vulnerability scan on the About page via pip-audit

Installation

Requires Python 3.10 or newer. Developed and tested primarily on Windows.

pip install machine-log-monitor

As a standalone application, installing with pipx keeps it in its own environment and puts the machine-log-monitor command on the PATH:

pipx install machine-log-monitor

Connecting to a source additionally needs a CAN backend, a serial device, or a supported CAN trace file.

Usage

Run machine-log-monitor to launch the application:

machine-log-monitor
machine-log-monitor --config .\monitor.json

The application opens on the Monitors page. Configure and select a source under Data source, then choose Connect. Add, edit, or remove filtered views on Log monitors; Pause and Clear affect only the selected view, not the incoming buffer. Enable Log file to also write the received stream to disk.

On General, set the substrings used for DEBUG, INFO, WARN, and ERROR coloring; empty substrings disable that rule. Save settings with File → Save or Save as… as a JSON file that can be passed back via --config.

The optional audit extra (pip install machine-log-monitor[audit], or pipx install "machine-log-monitor[audit]") enables the background pip-audit scan on the About page.

License

MIT — see the LICENSE file shipped with the package. Third-party components (PySide6, python-can, pyserial, bundled fonts) keep their own licenses; see THIRD_PARTY_LICENSES.md in the source distribution.

MachineLogMonitor is a diagnostic viewer and not intended for safety-critical use.

This project was created with the assistance of artificial intelligence.

Release files for machine-log-monitor 0.1.1

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

Source distribution (sdist)

Source distribution for machine-log-monitor 0.1.1
File Size Uploaded
machine_log_monitor-0.1.1.tar.gz 734.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for machine-log-monitor 0.1.1
File Interpreter ABI Platform
machine_log_monitor-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / machine_log_monitor-0.1.1.tar.gz

Download URL machine_log_monitor-0.1.1.tar.gz
Size 734.1 kB
Tags Source
SHA-256 checksum
How to use checksums
efdb4496f0e4e5f6ab3d6cf855768c44d02255f83b18721f6e541be5ea30fb2f
BLAKE2b-256 checksum
How to use checksums
10d634641164b90f390714825046de89cde6719beb881b711258d925d41278a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / machine_log_monitor-0.1.1-py3-none-any.whl

Download URL machine_log_monitor-0.1.1-py3-none-any.whl
Size 739.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd9da928ca2fd68dca836a68349ad4c3e15ac7a113de1e8d28d735632fdcdda1
BLAKE2b-256 checksum
How to use checksums
ee108ee84196001f6d1c1aa03c81c92d6d03412db54cf2cd818b9e276598cc26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

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