📓 CrumbAPI Log Handbuch – Crumbforest Logging
🪵 Stand: 2025-06-09 13:17:03
🧭 Überblick
Dieses Handbuch beschreibt das Logging-Verhalten für Anfragen an die CrumbAPI, insbesondere den Endpunkt:
POST /crumbapi/blockly-terminal
🧾 Zweck des Loggings
- 🧒 Kindgerechte Terminalaktionen sollen transparent nachvollziehbar gespeichert werden.
- 💬 Gesendeter Blockly-Code (JavaScript) wird für spätere Analyse archiviert.
- 🪵 Format: JSONL (eine Zeile pro Eintrag, maschinenlesbar und append-fähig)
📍 Log-Speicherorte
🗃️ Aktuelles Blockly-Kommando
/var/www/html/tmp/blockly_terminal_input.json
→ enthält immer nur den letzten gesendeten Blockcode
🗂️ Verlauf aller Blockly-Kommandos
/var/www/html/tmp/blockly_terminal_log.jsonl
→ enthält eine Zeile JSON pro gesendeter Anfrage
🧩 Aufbau eines Logeintrags
Beispiel:
{
"timestamp": "2025-06-09T13:11:26+00:00",
"source": "terminal",
"user": "robot",
"blockcode": "window.alert('wuuuuhuuuu');\n",
"status": "received"
}
Felder:
timestamp: Zeitpunkt der Speicherung (ISO-8601)source:"terminal"(Herkunft)user: Benutzername, falls übergeben, sonst"unknown"blockcode: Der gesendete JavaScript-Codestatus:"received"(Standardstatus)
🔐 Dateiberechtigungen
Stelle sicher:
chmod 666 /var/www/html/tmp/blockly_terminal_log.jsonl
chown www-data:www-data /var/www/html/tmp/blockly_terminal_log.jsonl
chmod 777 /var/www/html/tmp
🧪 Test über Terminal
curl -X POST http://localhost/crumbapi/blockly-terminal \
-H "Content-Type: application/json" \
-d '{"blockcode": "window.alert(\"Test\")"}'
🛠 Fehlerbehandlung
Falls kein Eintrag geschrieben wird:
- Prüfe Route: /crumbapi/blockly-terminal muss im CrumbapiController landen.
- Fallback-Log:
/var/www/html/tmp/fallback_debug.log
🌳 Fazit
💾 Das Logsystem ist der Speicher der kindlichen Terminalaktionen im Crumbforest.
✨ Jeder alert() ist ein kleiner Ruf in den Wald – und wird gehört.
🦉 „Das Echo ist der Wald, der antwortet.“