E3 – Log-Analysator (einfache Filter und Zähler)
Ein Array von Logzeilen im Speicher parsen, nach Level und Schlüsselwort filtern und Ereignisse mit Map zählen. Klein und lesbar bleiben
E3 – Log-Analysator (einfache Filter und Zähler) ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.
Was Sie erstellen werden
Ziel: Logs im Speicher analysieren.
- Zeilen als kurze Zeichenfolgen darstellen
- Nach Level oder Schlüsselwort filtern
- Mit einer Map zählen
- Funktionen kurz und verständlich halten

Daten und Parser
Erstellen Sie pro Zeile eine einfache Struktur: Zeit, Level, Text. Das reicht für Filter und Zähler aus.
// Simulated log lines (time level message)
const LINES = [
"10:00 INFO Start app",
"10:01 WARN Low memory",
"10:02 INFO User login /home",
"10:03 ERROR DB timeout",
"10:04 INFO User login /products",
"10:05 ERROR Network fail",
"10:06 WARN Retry request"
];
// Tiny parser: returns { time, level, text }
function parseLine(line) {
// split on spaces, compact, then rebuild pieces
const parts = line.trim().split(/\\s+/);
if (parts.length < 3) return null;
const time = parts[0];
const level = parts[1];
const text = parts.slice(2).join(" ");
return { time: time, level: level, text: text };
}
console.log("parsed:", parseLine(LINES[2]));
Grundlagen des Filterns
Schreiben Sie für jede häufige Frage kleine Filter-Funktionen. Kurz und gut lesbar ist besser als clever.
// Filter by level or by keyword (case-sensitive for simplicity)
function filterByLevel(lines, want) {
const out = [];
for (const line of lines) {
const p = parseLine(line);
if (p && p.level === want) out.push(p);
}
return out;
}
function filterByKeyword(lines, word) {
const out = [];
for (const line of lines) {
const p = parseLine(line);
if (p && p.text.indexOf(word) !== -1) out.push(p);
}
return out;
}
console.log("ERRORs:", filterByLevel(LINES, "ERROR").length);
console.log("login :", filterByKeyword(LINES, "login").length);
Zähler mit Map
Verwenden Sie eine Map für Zähler: schnelle Aktualisierungen und einfaches Lesen pro Schlüssel.
// Count how many lines per level
function countByLevel(lines) {
const counts = new Map();
for (const line of lines) {
const p = parseLine(line);
if (!p) continue;
const old = counts.get(p.level) || 0;
counts.set(p.level, old + 1);
}
return counts;
}
const c = countByLevel(LINES);
console.log("INFO :", c.get("INFO"));
console.log("WARN :", c.get("WARN"));
console.log("ERROR:", c.get("ERROR"));
Top-N-Beispiel
Extrahieren Sie kleine Textteile und sortieren Sie sie mit einer Zähl-Map. Halten Sie die Parsing-Regeln einfach.
// Extract a path after "User login " and rank by frequency
function topLoginPaths(lines, k) {
const freq = new Map();
for (const line of lines) {
const p = parseLine(line);
if (!p) continue;
const mark = "User login ";
const idx = p.text.indexOf(mark);
if (idx !== -1) {
const path = p.text.slice(idx + mark.length).trim();
const old = freq.get(path) || 0;
freq.set(path, old + 1);
}
}
// turn into array and sort descending by count
const arr = Array.from(freq.entries());
arr.sort(function (a, b) { return b[1] - a[1]; });
return arr.slice(0, k);
}
console.log("top paths:", topLoginPaths(LINES, 3));
Anleitung für Anfänger
Tipps:
- Erstellen Sie zuerst einen kleinen Parser.
- Schreiben Sie für jede Frage kleine Filter-Helfer.
- Zählen Sie mit einer Map.
- Bevorzugen Sie für Anfänger einfache Zeichenfolgen und verständliche Schleifen.

Quiz zum Zählen mit Map
Kurzer Test: Struktur zum Zählen.

Zusammenfassung
Zusammenfassung: Parsen Sie zu einer kleinen Struktur, filtern Sie nach Level/Schlüsselwort und zählen Sie mit einer Map. Halten Sie jeden Helfer kurz und eindeutig.

Häufig gestellte Fragen
Ist die Lektion „E3 – Log-Analysator (einfache Filter und Zähler)“ kostenlos?
Ja — der vollständige Text von „E3 – Log-Analysator (einfache Filter und Zähler)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „E3 – Log-Analysator (einfache Filter und Zähler)“?
Ein Array von Logzeilen im Speicher parsen, nach Level und Schlüsselwort filtern und Ereignisse mit Map zählen. Klein und lesbar bleiben Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um JavaScript Academy zu starten?
Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „E3 – Log-Analysator (einfache Filter und Zähler)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?
Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- E1 – Ausdrucksauswerter (Teil 1: + und - von links nach rechts)
- E3 – Log-Analysator (einfache Filter und Zähler)
- E3 – Promise-Pool/-Warteschlange (asynchrone Nebenläufigkeit)