0Pricing
JavaScript Academy · Lektion

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
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 1

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]));
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 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);
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 3

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"));
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 4

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));
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 5

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.
E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 6

Quiz zum Zählen mit Map

Kurzer Test: Struktur zum Zählen.

E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 7

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.

E3 – Log-Analysator (einfache Filter und Zähler) — Illustration 8

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

  1. E1 – Ausdrucksauswerter (Teil 1: + und - von links nach rechts)
  2. E3 – Log-Analysator (einfache Filter und Zähler)
  3. E3 – Promise-Pool/-Warteschlange (asynchrone Nebenläufigkeit)
← Zurück zu JavaScript Academy