Console.app: Was ist das, Funktionen und Logs in macOS lesen

Autor: IT Sectr Veröffentlicht: 2026-05-29 Lesezeit: 8 Min.

Console.app ist eine integrierte macOS-Anwendung zum Anzeigen, Filtern und Analysieren von System- und Benutzerlogs. Es zeigt Nachrichten aus dem einheitlichen Apple-Logging-System (os_log) in Echtzeit an und ermöglicht Entwicklern, Abstürze, Fehler und Debug-Meldungen ohne Verbindung zu Xcode zu sehen. Laut Apple Support unterstützt Console.app das Filtern nach Subsystem, Kategorie, Kritikalitätsstufe und Prozess sowie den Export von Logs in .logarchive zur Weitergabe an einen Entwickler. Es ist ein unverzichtbares Werkzeug zur Diagnose von Problemen auf dem Mac: Filter und gespeicherte Suchen ermöglichen es, Anwendungsfehler schnell unter Tausenden von Systemmeldungen zu finden.

Wichtige Punkte

  • Console.app — integrierter macOS-Logviewer, der mit dem einheitlichen Apple-Logging-System arbeitet
  • Filterung — Suche nach Subsystem, Kategorie, Stufe (Error, Fault, Debug) und Nachrichtentext mit Regex-Unterstützung
  • Modi — Live (Echtzeit-Stream) und Historical (archivierte Logs), Umschaltung über die Symbolleiste
  • Export — Logs in .logarchive, .txt und .json speichern, um sie an einen Entwickler zu senden oder einem Bug-Report beizufügen
  • Gespeicherte Suchen — benannte Filter für typische Szenarien: alle App-Fehler, Netzwerk-Logs, CrashReporter

Was ist Console.app

Console.app ist eine grafische Oberfläche für das einheitliche Apple-Logging-System. Es hat die alte Console-Anwendung (als Teil von macOS) ersetzt und bietet Zugriff auf alle System- und Anwendungslogs, die über die APIs os_log, os_trace und syslog geschrieben wurden. Console.app befindet sich auf jedem Mac in /Applications/Utilities/.

Im Gegensatz zu Xcode, das nur Logs der aus der IDE gestarteten Anwendung anzeigt, zeigt Console.app gleichzeitig Logs aller Prozesse auf dem System an. Dies ermöglicht die Diagnose von Problemen, die nur auftreten, wenn die Anwendung außerhalb von Xcode oder im Hintergrund gestartet wird. Console.app zeigt auch Systemlogs an — Kernel, launchd, WindowServer — was für das Debuggen von Low-Level-Problemen nützlich ist.

Console.app erfordert keine Installation zusätzlicher Tools oder eine Internetverbindung. Alle Daten werden lokal in einer .tracev3-Datenbank gespeichert, und die Anwendung arbeitet vollständig offline. Um Logs von einem anderen Mac oder iOS-Gerät anzuzeigen, verwenden Sie den Befehl log collect und öffnen Sie dann die .logarchive in Console.app.

Console.app-Oberfläche

Die Console.app-Oberfläche besteht aus drei Hauptbereichen: der Seitenleiste mit Filtern, der Nachrichtentabelle und dem Detailbereich für die ausgewählte Nachricht. Die Seitenleiste enthält die Bereiche Devices (verfügbare Logquellen), Reports (Systemabsturzberichte) und Saved Searches (gespeicherte Suchanfragen).

Die Nachrichtentabelle zeigt eine Liste der Logs mit Spalten: Time (Zeitstempel), Category (Kategorie), Level (Kritikalitätsstufe — farbcodiert), Process (Prozessname), Message (Nachrichtentext). Ein Klick auf eine Nachricht öffnet den Detailbereich mit Subsystem, Aktivitätskennung, Thread-ID und dem vollständigen formatierten Text.

Console.app hebt Nachrichten farblich hervor: rot für Fault, gelb für Error, blau für Debug, grau für Info. Default-Nachrichten werden nicht hervorgehoben. So können Sie den Log-Stream visuell scannen und kritische Ereignisse sofort erkennen.

swift
// Logs, die in Console.app erscheinen
import OSLog

let logger = Logger(
    subsystem: "com.example.myapp",
    category: "network"
)

logger.error("Connection failed: timeout")
logger.debug("Retry attempt 3 of 5")

// Diese Nachrichten sind in Console.app mit dem Filter „myapp“ sichtbar

Filter und Suche in Console.app

Die Filterung ist die Hauptfunktion von Console.app, die einen Strom von Tausenden von Nachrichten pro Sekunde in eine lesbare Liste verwandelt. Das Suchfeld oben unterstützt UND-Bedingungen: mehrere durch Leerzeichen getrennte Wörter zeigen nur Nachrichten an, die alle Wörter enthalten. Zum Beispiel zeigt myapp error alle Logs der Anwendung myapp mit der Stufe Error.

Subsystem-Filter in der Seitenleiste ermöglicht die Auswahl eines oder mehrerer Subsysteme. Dies ist der schnellste Weg, um die Logs einer bestimmten Anwendung von Systemmeldungen zu isolieren. Kategorie-Filter ist nach Auswahl eines Subsystems verfügbar — er zeigt alle vom ausgewählten Programm verwendeten Kategorien an. Level-Filter schränkt Nachrichten nach Kritikalitätsstufe ein: es können nur Fehler oder nur Debug-Meldungen angezeigt werden.

FiltertypBeispielErgebnis
Textcrash paymentNachrichten, die sowohl crash als auch payment enthalten
Subsystemcom.example.myappNur Logs der angegebenen Anwendung
LevelError + FaultNur Fehler und kritische Ausfälle
CategorynetworkNachrichten mit der Kategorie network
ZeitLetzte 1 StundeNur Nachrichten aus dem gewählten Intervall

Reguläre Ausdrücke in der Suche

Das Suchfeld von Console.app unterstützt Regex über die Konstruktion REGEX:pattern. Beispiel: REGEX:error.*tim(e|out) findet alle Nachrichten, die „error“ und ein Wort enthalten, das mit „tim“ beginnt und mit „e“ oder „out“ endet. Regex funktioniert nur im Suchfeld, nicht in Subsystem- oder Kategorie-Filtern.

Live- und Historical-Modus

Live ist der Echtzeitmodus, in dem Console.app neue Nachrichten anzeigt, sobald sie im Kernel-Ringpuffer erscheinen. Dieser Modus ist standardmäßig aktiv und geeignet zum Debuggen einer laufenden Anwendung: Sie starten die App und sehen ihre Logs mit einer Verzögerung von 1–5 Sekunden. Die Live-Taste (oder ⌘L) schaltet den Stream ein und aus.

Historical ist der Archivansichtsmodus. Console.app speichert alle Nachrichten der letzten 7–14 Tage (im System konfigurierbar) in einer .tracev3-Datenbank. Der Historical-Modus öffnet dieses Archiv und ermöglicht die Suche darin mit beliebigen Filtern, nicht nur im aktuellen Stream. Dies ist unverzichtbar für die Analyse von Problemen, die nachts aufgetreten sind oder wenn die Anwendung ohne Verbindung zu einem Mac lief.

Das Umschalten zwischen den Modi erfolgt über die Live-Taste in der Symbolleiste. Wenn Live ausgeschaltet ist, zeigt Console.app historische Daten an. In diesem Modus können Sie mit dem Kalender oder den ← →-Tasten durch die Zeitleiste navigieren. Historische Daten sind nur für Logs verfügbar, die auf der Festplatte gespeichert wurden — Nachrichten, die im Ringpuffer überschrieben wurden, erscheinen nicht im Archiv.

Export und Freigabe von Logs

Console.app unterstützt den Export gefilterter Logs in mehreren Formaten. File → Export → Save ermöglicht die Auswahl des Formats: .logarchive (Apple-natives Format, enthält alle Metadaten), .txt (Klartext mit Spalten) und .json (strukturierte Daten mit Feldern). Für das Anhängen an einen Bug-Report verwenden Sie .logarchive — es kann auf jedem Mac in Console.app geöffnet werden.

Export von einem iOS-Gerät: über Xcode (Devices → Open Console) oder über den Befehl log collect --device --output ./archive.logarchive im Terminal. Öffnen Sie die resultierende .logarchive in Console.app auf einem Mac — die Logs stammen vom entfernten Gerät, aber Filter und Suche funktionieren genauso wie bei lokalen Logs.

swift
// Export von iOS-Gerätelogs über das Terminal
// log collect --device --output ./ios_crash.logarchive
// log show --subsystem com.example.app --last 1h --output json

// Beispiel: Logs der letzten Stunde exportieren
// log show --predicate 'subsystem == "com.example.myapp"' \
//   --info --debug --last 1h --output json > logs.json

// Parsen exportierter Logs in Swift
let jsonData = try Data(contentsOf: URL(fileURLWithPath: "logs.json"))
let decoded = try JSONDecoder()
    .decode([LogEntry].self, from: jsonData)

Logs teilen

.logarchive ist das optimale Format zum Senden an einen Kollegen oder zum Anhängen an ein JIRA-Ticket. Die Datei enthält nicht nur Nachrichten, sondern auch Subsystem, Kategorie, Zeitstempel, Thread-IDs und alle Metadaten. Die Archivgröße ist dank .tracev3-Komprimierung deutlich kleiner als Rohdaten. Stellen Sie vor dem Senden sicher, dass die Logs keine privaten Daten enthalten: Verwenden Sie einen Filter nach dem Subsystem Ihrer Anwendung, um Systemlogs auszuschließen, die vertrauliche Informationen anderer Prozesse enthalten könnten.

Praktische Debugging-Beispiele mit Console.app

Absturzdiagnose ohne Xcode: Wenn eine Anwendung beim Start außerhalb von Xcode abstürzt, zeigt Console.app eine Fault-Meldung vom Prozess an. Suchen Sie in der Seitenleiste Reports → Crash Reports — dort werden vollständige Absturzberichte mit Signatur und Stack angezeigt. Verwenden Sie den Subsystem-Filter für Ihre Anwendung und setzen Sie die Stufe auf Error+Fault, um alle kritischen Ereignisse vor dem Absturz zu sehen.

Leistungsanalyse mit Console.app

Console.app ermöglicht es, Verzögerungen in der Anwendung anhand von Zeitstempeln zu verfolgen. Wenn zwischen zwei zusammenhängenden Nachrichten (z. B. „Anfrage gesendet“ und „Antwort erhalten“) mehr Zeit als erwartet vergangen ist, ist dies ein Signal für ein Leistungsproblem. Ein Filter auf das Subsystem Ihrer Anwendung mit der Stufe Default zeigt alle wichtigen Ereignisse mit Millisekundengenauigkeit an.

Speicherlecks finden: Bei einem Speicherleck sendet das System eine Speicherwarnung über os_log mit der Kategorie memory und der Stufe Error. Filtern Sie in Console.app nach dem Wort memory und wählen Sie Ihr Subsystem aus. Wenn die Warnung alle 5–10 Sekunden wiederholt wird, verbraucht die Anwendung aktiv Speicher. Sie können auch Debug-Logs aktivieren, um Speicherzuweisungen zu verfolgen.

Debuggen von Netzwerkanfragen: Wenn Ihre Anwendung os_log für Netzwerkereignisse verwendet, zeigt Console.app alle Anfragen und Antworten mit Zeitangaben an. Ein category=network-Filter reduziert das Rauschen. Wenn die Zeit zwischen einer Anfrage und der Antwort die Erwartungen übersteigt, suchen Sie nach Nachrichten mit level=Error — sie weisen auf Timeouts oder DNS-Fehler hin.

swift
// Struktur zum Parsen von Console.app JSON-Logs
struct LogEntry: Codable {
    let timestamp: String
    let eventMessage: String
    let subsystem: String
    let category: String
    let messageType: UInt8

    var level: String {
        switch messageType {
        case 1: return "Fault"
        case 16: return "Error"
        case 17: return "Debug"
        default: return "Default"
        }
    }
}

Häufig gestellte Fragen

Wo befindet sich Console.app auf dem Mac?

Console.app befindet sich im Ordner /Applications/Utilities/. Sie können es über Spotlight (⌘Leertaste → Console) oder über Finder → Programme → Dienstprogramme → Console öffnen. Das App-Symbol ist eine stilisierte Sprechblase mit einem Zahnrad.

Warum zeigt Console.app <private> anstatt der Werte?

os_log maskiert Zeichenfolgen und Objekte standardmäßig als private. Console.app zeigt sie im Produktionsmodus als <private> an. Um die tatsächlichen Werte zu sehen, starten Sie die Anwendung aus Xcode oder aktivieren Sie ein Sammlungsprofil mit der Stufe Debug für Ihr Subsystem.

Wie filtere ich nur die Logs meiner Anwendung?

Wählen Sie in der Seitenleiste von Console.app Ihr Subsystem (com.example.app) im Abschnitt Devices → Ihr Gerät → Processes. Alternativ geben Sie den Prozessnamen in das Suchfeld ein und wählen Sie Process: YourApp aus der Dropdown-Liste.

Wie lange speichert Console.app Logs?

Standardmäßig speichert macOS Logs in .tracev3 für 7–14 Tage, abhängig vom verfügbaren Speicherplatz. Bei Speichermangel werden die ältesten Logs automatisch gelöscht. Die Aufbewahrungsdauer kann über sudo log config verlängert werden, wird aber für Produktionsmaschinen nicht empfohlen.

Kann ich iOS-Gerätelogs in Console.app anzeigen?

Ja, verbinden Sie Ihr iOS-Gerät über USB mit einem Mac, öffnen Sie Xcode → Devices → wählen Sie das Gerät aus → Open Console. Console.app zeigt die Logs des verbundenen Geräts in Echtzeit an. Für die Offline-Erfassung verwenden Sie log collect im Terminal mit dem Flag --device.

Zusammenfassung

  • Console.app — integriertes macOS-Tool zur Anzeige von Unified-Logging-Logs (os_log), kein Xcode oder zusätzliche Installationen erforderlich
  • Filter — Suche nach Subsystem, Kategorie, Kritikalitätsstufe, Text und Regex mit UND-Bedingungen zur Isolierung des Logings einer bestimmten Anwendung
  • Modi — Live (Echtzeit-Stream mit 1–5 Sekunden Verzögerung) und Historical (7–14-Tage-Archiv) zur Analyse bereits aufgetretener Probleme
  • Export — .logarchive mit vollständigen Metadaten zum Teilen mit Kollegen, .json zur programmatischen Analyse, .txt zur schnellen Ansicht
  • Diagnose — Abstürze, Speicherlecks und Netzwerkfehler ohne Xcode finden durch Filtern nach Fehlern und kritischen Ausfällen mit Fault-Farbanzeige
  • Remote-Geräte — iOS-Gerätelogs über Xcode anzeigen oder über log collect exportieren und die .logarchive in Console.app auf einem Mac öffnen
  • Datenschutz — os_log maskiert <private>-Daten in Console.app im Produktionsmodus; verwenden Sie zum Debuggen Xcode oder ein Sammlungsprofil der Stufe Debug

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch