fritz_logextractor
Reads the event log of AVM Fritz! devices and writes each new entry once, as a JSON line on stdout, so a log stack (Loki, Elasticsearch, journald, …) can keep it.
The Fritz!Box keeps its event log in RAM: a reboot or a firmware update empties it, and the box has no syslog push. This tool polls the log, works out what is new and prints it, also across restarts of the tool and reboots of the box.
Companion to fritz_exporter, which exports the device's metrics to Prometheus.
Documentation: https://pdreker.github.io/fritz_logextractor/
Quick start
podman run -d --name fritzlogextractor --restart unless-stopped \
-v fritzlogextractor-state:/var/lib/fritzlogextractor \
-e FRITZ_HOSTNAME=fritz.box -e FRITZ_USERNAME=logreader -e FRITZ_PASSWORD='...' \
docker.io/pdreker/fritz_logextractor:latest
Mount a volume on /var/lib/fritzlogextractor as shown: the tool keeps its state there, and
without it every new container prints the whole log again.
{"kind": "event", "event_time": "2026-10-09T08:31:57+02:00", "time_estimated": false, "box_time": "09.10.26 08:31:57", "device": "fritz.box", "host": "fritz.box", "serial": "...", "group": "net", "id": 22, "msg": "Internetverbindung wurde erfolgreich hergestellt. ...", "repeat": 1}
Configuration, running without a container, Compose, Kubernetes and the meaning of each field: see the documentation.
Development
uv sync --all-groups
uv run ruff check . && uv run ruff format --check .
uv run ty check
uv run pytest
uv run mkdocs serve
Conventions and design: AGENTS.md.
License
Copyright 2026 Patrick Dreker and Rafael Kansy.
Apache License 2.0, see LICENSE.md and NOTICE. The event log parsing is adapted from Rafael Kansy's work in fritz_exporter #719.
Metadata
Release files for fritz-logextractor 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fritz_logextractor-0.3.0.tar.gz | 117.8 kB | Without provenance | Details for fritz_logextractor-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fritz_logextractor-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for fritz_logextractor-0.3.0-py3-none-any.whl |
Total release size: 153.3 kB
Release files / fritz_logextractor-0.3.0.tar.gz
| Download URL | fritz_logextractor-0.3.0.tar.gz |
|---|---|
| Size | 117.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2659f3cb3b3058918a0f8179d746716359675f111e29453aaa681c910f058c1d
|
|
BLAKE2b-256 checksum How to use checksums |
34fea232bedc817054e498b4038d683f900d953ad830108099c7d1b7334d82a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fritz_logextractor-0.3.0-py3-none-any.whl
| Download URL | fritz_logextractor-0.3.0-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
221a5ef5de3797be548be06b2e1cdc519a44f4e2ba34144c546dbddd84d76ced
|
|
BLAKE2b-256 checksum How to use checksums |
7418f19f8949e595f5b161669c6b08fefe5d3be433d0d75133c2fe3af49b705d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for fritz-logextractor 0.3.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.