So deaktivieren Sie die Protokollierung in "system.log" in OS X

7

Während meiner Zeit bei Yosemite hatte ich ein harmloses Problem, bei dem ich angemeldet bin system.log non-stop

Bei dieser Frage geht es nicht darum, das Problem zu lösen.

Ich möchte das Chatter aufhören, weil sie auf das Laufwerk schreiben, das eine SSD ist, und auf sie verzichten könnte.

Wie kann ich das Schreiben in das Protokoll stummschalten oder verhindern?

Die Nachrichten kommen vom Kernel und schuld IO80211ScanManager. Beispiel:
Nov 19 02:04:46 Louis-MBP kernel[0]: IO80211ScanManager::startScan: pid 29 had pending scan request. Deleting.

Sie dominieren das Protokoll, dessen 4000 Meldungen in der Regel einen Tag umfassen.

Louis
quelle

Antworten:

8

Die Protokollierung in system.log wird von der Datei /etc/asl.conf gesteuert. Standardmäßig werden alle Kernel-Nachrichten an system.log gesendet. Wenn Sie eine Einschränkung für die Prioritätsstufe hinzufügen, werden die trivialen Systembeschwerden nicht protokolliert.

Bearbeiten Sie die Datei /etc/asl.conf und suchen Sie nach einer Zeile, die folgendermaßen aussieht

? [= Sender kernel] file system.log

und ändern Sie es in

? [= Sender kernel] [<= Level error] file system.log

Senden Sie ein HUP-Signal an die syslogd Prozess (oder starten Sie einfach Ihr System neu) und das Protokollierungsverhalten wird geändert. Benutzen pgrep von Terminal, um die Prozess-ID für syslogd zu finden. Z.B.

$ pgrep syslogd
21
$

Senden Sie dann mit der Taste ein HUP-Signal an diese Prozess-ID kill Programm.

$ sudo kill -HUP 21
$
Kyle Jones
quelle
Ihre Intimität mit diesem System ist ermutigend. Auf den ersten blick ich kann immer noch die Nachrichten erhalten . Obwohl es ruhig ist, wenn ich schreibe. Ich beziehe mich auf die asl.conf docs für jetzt. Danke für den Vorschlag! Übrigens, was ist ein HUP-Signal? Würden Sie bitte in Erwägung ziehen, einen Hyperlink zu erstellen?
Louis
Nicht funktioniert ... wird morgen versuchen, die Dringlichkeitsschwelle zu überschreiten critical, gefolgt von alert, und schlussendlich emergency wenn das wie ist alc.conf man-Seite bestellt sie.
Louis
@Louis auf diesen Ebenen gehen andere wichtige Nachrichten verloren - es ist besser, nach mehr als der Priorität herauszufiltern, z. in der Zeichenfolge IO80211ScanManager :: startScan
Mark
@ Mark Danke, ich werde nachsehen, wie ich so etwas fangen kann. Für jetzt ändere ich es wieder in Warnung. Aber ich habe jetzt eine allgemeine Vorstellung davon, wie ich mit der Kontrolle der Protokolle beginnen kann. Es stellte sich heraus, dass der IO80211ScanManager auch in der Datei wifi.log angezeigt wurde, also habe ich ihn gerade bearbeitet ? [<= Level notice] store sagen ? [<= Level warning] store. Verstehe, dass ich keine verschiedenen Bekanntmachungen bekomme, so weit, so gut!
Louis
Wie kann man das alles wieder in seinen ursprünglichen Zustand bringen?
Sayan
1

Löschen Sie das Systemprotokoll mit dem Befehl

sudo rm /System/Library/LaunchDaemons/com.apple.syslogd.plist

MacOS ist das gleiche wie iOS. Der Dienst wird in einer Liste gespeichert, um den Befehl zum Ausführen eines Skripts zu geben. Wenn Sie einen Dienst in iOS deaktivieren oder entfernen können, können Sie dies auch in macOS tun.

Dadurch wird nur der Systemprotokolldienst gelöscht, der beim Booten ausgeführt wird, sonst nichts. Sie können die Protokollierung manuell ausführen, wenn Sie die Konsole öffnen möchten.

pavlaras
quelle