Wo wird die Protokolldatei bei einem ausführlichen Start in OS X Lion erstellt?


19

Nach dem Start meines Computers im ausführlichen Modus (cmd + v beim Start) möchte ich die generierten Protokollnachrichten anzeigen, um einen Fehler zu debuggen, den ich erhalte ( den Fehler ). Der Fehler wird nur kurz während des Startvorgangs auf dem Bildschirm angezeigt, bevor der Computer neu gestartet wird. Infolgedessen bleibt keine Zeit, es richtig zu lesen.

Stellt OS X eine separate Protokolldatei für Startmeldungen bereit oder sind diese in den Dateien kernel.log und system.log enthalten? Wenn sie in diesen Dateien vergraben sind, gibt es eine schnelle Möglichkeit, im Konsolen-Viewer zu dem Punkt zu springen, an dem das System gestartet wird?

Antworten:


3

Ab Snow Leopard und möglicherweise Leopard durchläuft die gesamte Protokollierung des Systems den Apple System Log (ASL) -Mechanismus, der wie ein zentraler Dämon und eine zentrale Datenbank für alle Protokollnachrichten ist. Der ASL-Daemon stellt auch sicher, dass entsprechende Protokollnachrichten, die bestimmte herkömmliche Kriterien erfüllen, in herkömmliche flache Textprotokolldateien wie system.logund geschrieben werden kernel.log, aber alles geht auch in die ASL-Datenbank.

Weitere Informationen finden Sie in den Manpages syslog(1), logger(1), syslog(3), asl(3), syslog.conf(5), asl.conf(5), syslogd(8), usw.

Mit können Sie syslog(1)Abfragen für die ASL-Datenbank ausführen. Außerdem /Utilities/Console.appbietet eine grafische Oberfläche zum Erzeugen und Speichern von benutzerdefinierten Abfragen für die ASL - Datenbank.

Ich bin mir ziemlich sicher, dass der Nachrichtenpuffer des Kernels (traditionell mit angezeigt dmesg(8)) in der ASL-Datenbank abgelegt wird, sobald der Startvorgang so weit fortgeschritten ist syslogd, dass er ausgeführt werden kann. Sie sollten also nicht dmesgdirekt anrufen müssen , außer aus Gewohnheit. Oder wenn Ihr System nicht weit genug bootet, um ausgeführt syslogdzu werden.


Funktioniert das für frühere Stiefel? Das Problem, auf das ich stieß, als ich diese Frage schrieb (zum Glück jetzt gelöst), trat nur sporadisch auf. Angenommen, bei jedem zweiten Start war es eine Kernel-Panik, und ich wollte beim nächsten erfolgreichen Start die Protokolldatei überprüfen, den vorherigen Start finden und versuchen, Fehler zu beheben.
Purpletonisch

@purpletonic Ja, alles, was an ASL gesendet wird, wird in eine Datenbank gestellt, in der es standardmäßig 7 Tage bleibt (dies kann mit angepasst werden asl.conf(5)). Wenn Sie also Bootprobleme debuggen und mehrmals am selben Tag neu starten, sind diese standardmäßig vorhanden. Wenn es sich um ein längerfristiges Problem handelt, können Sie die Aufbewahrungsdauer von ASL anpassen, um die Aufbewahrungsdauer zu verlängern.
Spiff

Diese Antwort sagt jedoch nicht wirklich aus, wie ich die Ausgabe des "ausführlichen" Startvorgangs sehe. Zeigt nach dmesgdem Start nur einige aktuelle Einträge an, nicht jedoch das Startprotokoll. Versuchen Sie dies am 10.12.6 - es gibt auch keine "kernel.log" -Datei mehr.
SuperTempel

11

Öffne Terminal.app und starte

sudo dmesg

(Sie werden nach Ihrem Passwort gefragt)

Dadurch werden Systemmeldungen vom letzten Start bis jetzt angezeigt (die Startmeldungen befinden sich oben in der Ausgabe). Du kannst es versuchen

sudo dmesg | Mehr

Dadurch werden diese Meldungen Seite für Seite ausgegeben.


Nett! Ich würde weniger statt mehr verwenden, es ist weitaus bequemer und überfrachtet nicht Ihren Terminal-Scrollback.
SilverWolf - Wiedereinsetzung von Monica

4

Die akzeptierte Antwort (von Spiff) war für mich weder hilfreich, noch gibt es ein kernel.log mehr.

Was für mich (unter macOS 10.12.6) funktioniert, ist dieser Befehl:

log show --predicate "processID == 0" --start $(date "+%Y-%m-%d") --debug

Es zeigt alle heutigen Kernel-Nachrichten, einschließlich des Startvorgangs. Es muss aufgeräumt werden, aber zumindest enthält es alles, was ich finden musste.


Das funktioniert auch bei mir. Vielen Dank. Die anderen Antworten zeigen Dinge, die nicht unbedingt mit dem Hochfahren zusammenhängen, oder zeigen nicht GENAU an, was während des Hochfahrens gedruckt wird. Ihre Antwort lautet +1. Und es ist auch farbcodiert!
Max Coplan

2

Ich selbst frage mich, wie ich das für den Start am besten geeignete Protokoll erhalten kann, ohne auf die Konsole / das Terminal zuzugreifen. Es stürzte beim Start ab, aber Sie können über die Installationsdiskette auf das Dateisystem zugreifen (ich hatte einen Dual-Linux-Boot zur Verfügung). Die Datei ist:

/var/log/kernel.log

Wenn Sie über das Betriebssystem auf die Konsole zugreifen können, sollten Sie den anderen Vorschlägen folgen und die entsprechenden Befehle verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.