OpenHab Log Viewer
Live-Ansicht für die openHAB-Protokolle im Browser: Filter nach Quelle, Level und Text, Streaming per Server-Sent Events, jede Logzeile bleibt als eigene Zeile sichtbar.

Überblick
Der OpenHab Log Viewer macht die beiden wichtigsten openHAB-Protokolle im Browser lesbar, ohne sich per SSH auf den Rechner zu verbinden. Er verfolgt events.log und openhab.log gleichzeitig, lädt beim Öffnen die letzten Zeilen und hängt danach neue Zeilen live an.
Neue Zeilen erreichen den Browser über Server-Sent Events, nicht über wiederholtes Abfragen. Client und Server arbeiten mit begrenzten Ringpuffern, damit die Ansicht auch bei hohem Protokollaufkommen bedienbar bleibt. Der Server wird zu einer einzelnen Datei gebündelt, auf dem Zielrechner ist deshalb nur Node.js nötig, keine Paketinstallation.
Beim Darstellen bleibt jede physische Zeile der Datei eine eigene Zeile in der Oberfläche. Fortsetzungszeilen, etwa aus Stacktraces, stehen in eigenen Zeilen, gehören aber sichtbar zum Eintrag mit dem Zeitstempel. Der Zustand jeder überwachten Datei wird angezeigt, sodass eine fehlende Datei oder ein Rechteproblem sofort erkennbar ist statt als leere Ansicht zu erscheinen.
Die Anwendung bringt keine eigene Anmeldung mit und verlässt sich auf die Same-Origin-Politik des Browsers. Weil DNS-Rebinding diese umgehen kann, lässt sich über ALLOWED_HOSTS festlegen, unter welchen Hostnamen der Viewer erreichbar sein darf; alles andere wird mit 403 abgewiesen. Für echte Zugangskontrolle gehört ein authentifizierender Reverse Proxy davor.
Funktionen
Installation
npm install
npm run build
npm run startDanach läuft die Anwendung auf http://localhost:9001/. Für den Dauerbetrieb liegt eine systemd-Unit im Repository; auf dem Zielrechner genügt Node.js, da der Server gebündelt ist.
Releases
v2.5.4 · 20.10.2026
- build(deps): bump express from 5.2.1 to 5.3.0
- [Server] Add configurable timezone for log timestamps
v2.5.3 · 14.10.2026
- build(deps): bump ip-address from 10.4.0 to 10.7.2
- build(deps): bump SonarSource/sonarqube-scan-action from 8.2.2 to 8.3.0 in the actions group
- build(deps-dev): bump @types/node from 26.6.2 to 26.6.3 in the types group
- build: update version to 2.5.3 in package.json and package-lock.json
- build(deps): bump express-rate-limit from 8.7.0 to 8.7.1
- build(deps-dev): bump jsdom from 30.1.1 to 30.1.2
- build(deps): bump actions/setup-node from 7.0.0 to 7.1.0 in the actions group
- build(deps-dev): bump @types/node from 26.6.3 to 26.6.5 in the types group across 1 directory
v2.5.2 · 28.09.2026
- build(deps-dev): bump @types/node from 26.4.1 to 26.5.1 in the types group
- Rebuild website after release
- build(deps): bump compression from 1.8.1 to 1.8.2
- build(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in the types group
- build(deps): bump SonarSource/sonarqube-scan-action from 8.2.1 to 8.2.2 in the actions group
- build(deps-dev): bump tsx from 4.23.13 to 4.23.15
- build(deps-dev): bump jsdom from 30.0.1 to 30.1.1
- build(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in the types group across 1 directory
v2.5.1 · 06.09.2026
Abhängigkeiten aktualisiert
v2.5.0 · 16.08.2026
- build(deps): bump body-parser from 2.2.2 to 2.3.0
- build(deps): bump actions/checkout from 7.0.0 to 7.0.1 in the actions group
- perf(sseHub): batch live log lines into chunked SSE writes
- build(deps): bump express-rate-limit from 8.6.0 to 8.6.1
- build(deps-dev): bump jsdom from 29.1.1 to 30.0.1
- build(deps-dev): bump @types/node from 26.1.1 to 26.1.2 in the types group across 1 directory
- build(deps): bump ip-address from 10.2.0 to 10.4.0
- build(deps): bump express-rate-limit from 8.6.1 to 8.6.2
- build(deps-dev): bump tsx from 4.23.1 to 4.23.8
- build(deps-dev): bump tsx from 4.23.8 to 4.23.12
- build(deps-dev): bump esbuild from 0.28.1 to 0.28.2
- build(deps-dev): bump the types group across 1 directory with 2 updates
![[ e-networld.de ]](/img/logo.png)