Wie deaktiviere / setze ich die Protokollierungsstufe / Einstellungen PRO Mac OS X-Anwendung?

Ich finde, dass die Syslogd - "Cosole" - Protokolle meines Mac unbrauchbar werden, wenn eine schlecht geschriebene App (PathFinder.app in diesem Fall) spuckt den ganzen Tag unaufhörlich in syslogd.. Ich habe irgendwo gelesen,dass Sie die Protokollierung PRO App deaktivieren können..

  1. Erstellen eines Alias für das ausführbare Bundle innerhalb von der App "package" und Starten dieses Alias DANN NUR vom Terminal AUS. Der Prozess war... Navigieren Sie zu /Applications/ObnoxiousLogger.app, rechtsklick, "Paketinhalt anzeigen" und dann zu navigieren...

    /Applications/ObnoxiousLogger.app/Contents/MacOS/ObnoxiousLogger

    Dann erstellen Sie den Alias über die GUI und denken daran, die App immer von diesem Alias aus zu starten, wiederum NUR über das Terminal.

    Dies ist ärgerlich, da Sie den Alias über den Finder erstellen müssen (Symlink funktioniert nicht und Es gibt keine Möglichkeit, einen Alias über das Terminal zu erstellen). Und wenn es auf andere Weise gestartet wird, kehren Sie zu Platz eins zurück, Logorrhoe.. Diese Methode hat funktioniert, aber für eine sehr kurze Zeit.

  2. Es scheint, dass Sie dies über einen Befehl launchctl oder eine plist-Variable festlegen können, aber dies ist keine App, die von launchd geöffnet wird, und die Dokumentation von launchd ist so überall, aber ich denke, das ist eine Möglichkeit, nehme ich an.

  3. Ich habe etwas über das Senden des Protokolls an /dev/null gesehen, aber es war nicht klar, ob dies eine Art Syslogd-Pipe oder ein Befehl oder ein /etc/syslogd.conf festlegen, oder was...

Bitte lassen Sie es mich wissen, wenn Sie eine todsichere Möglichkeit haben, die Protokollierung pro Anwendung selektiv zum Schweigen zu bringen , oder noch besser, Erhöhen oder verringern Sie die Ausführlichkeit der Protokollierung pro Prozess / Befehl usw. in Mac OS X.

Author: Daniel Beck, 2011-05-02

5 answers

Vielleicht möchten Sie sich asl.conf(5) ansehen, mit dem Sie Protokollnachrichten auf einer ziemlich feinkörnigen Ebene ignorieren/verarbeiten können.

So etwas wie:

? [= Sender ObnoxiousLogger] ignore

Sollte den trick tun. Wenn Sie immer noch die ernsteren Nachrichten vom widerwärtigen Absender sehen möchten, etwas in der Art von:

? [= Sender ObnoxiousLogger] [> Level error] ignore

Könnte angemessener sein.

Hinweis: Vergessen Sie nach der Bearbeitung von /etc/asl.conf nicht, Ihr Syslogd zu kill -HUP.

 5
Author: Torsten Grust,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-08-10 16:11:17

Erstellen Sie einfach eine Datei " Neue Datenbank suchen..., auf der Suche nach enthält "console" und Sender enthält nicht"ObnoxiousLogger", und ignorieren Sie die standardmäßigen Konsolennachrichten Datenbanksuche?

geben Sie hier die Bildbeschreibung ein


Sie können den folgenden Befehl verwenden, um einzelne Protokollfilterebenen für bestimmte Prozesse festzulegen:

syslog -c processname -d

Dadurch wird die Protokollebene von festgelegt, auf der derzeit Instanzen von processname ausgeführt werden, auf alle Nachrichten der Debug-Ebene oder höhere. die möglichen Ebenen sind jedes Zeichen von pacewnid: (Panic), Alert, Critical, Error, Warning, Notice, Info und Debug.

Um also nur die Protokollierung von Warnmeldungen und höher für Finder zu aktivieren, verwenden Sie:

syslog -c Finder -w

Sie müssen dies wiederholen, wenn Sie den betreffenden Prozess neu starten.

 3
Author: Daniel Beck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-19 17:30:27

Ich bin auf macOS Mojave (10.14.3) und dieser Beitrag war hilfreich für mich, also möchte ich klarstellen, was für mich funktioniert hat, da ich nicht alles zusammen an einem einzigen Ort gesehen habe. In meinem Fall wollte ich Microsoft OneNote-Nachrichten herausfiltern, die ständig mein System spammen.protokolldatei mit einer Geschwindigkeit von 5 pro Sekunde. Beispielnachricht:

Feb  3 22:52:49 MyMacMini-2 Microsoft OneNote[393]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000012d7760 after call to waitUntilAllOperationsAreFinished

Also habe ich /etc/asl bearbeitet.conf mit der folgenden Regel:

# Disable Microsoft OneNote logging as is filling up system.log!
? [= Sender Microsoft OneNote] ignore

Sie müssen dies vor der Zeile hinzufügen, die besagt:

# Rules for /var/log/system.log

Wie sonst wird es nicht Arbeit. Starten Sie dann einfach syslogd mit diesem Befehl neu und die Nachrichten sollten vom System gelöscht werden.log:

sudo killall -HUP syslogd
 2
Author: Turribeach,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-02-03 23:36:01

Die von Torsten vorgeschlagene Lösung scheint nicht zu funktionieren. Es scheint, dass das Hinzufügen dieser Konfiguration zum globalen asl.conf nicht den erwarteten Effekt hat, wie die Regeln behandelt werden.

Eine Lösung für dieses Problem fand ich, nachdem ich fast mit dem Haupt-asl Berserker kämpfte.conf, ist die Verwendung separater asl/* Konfigurationsdateien für jeden Filter. Diese Dateien müssen in /etc/asl/{[10] gespeichert werden]}

Z. B. um "com.Beispiel.Absender " und filtern Sie seine Log-Spam aus dem System.log wir könnten ein datei /etc/asl/com.example.Sender mit folgendem Inhalt:

? [= Sender com.example.Sender] claim only
* ignore

Das claim only für die Übereinstimmung (ein" Absender " im Beispiel) bewirkt, dass die Regeln im Master asl.conf ignoriert werden, was bedeutet, dass die Dinge nicht in system.log enden.

Vergiss natürlich nicht, syslogd neu zu starten.

 1
Author: Haru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-08 00:16:33

Habe ich geschrieben eine detaillierte Antwort an AskDifferent.

Setzen Sie in /etc/asl.conf eine Regel wie die folgende

? [= Sender foobar] [<= Level error] notify com.apple.foobar
  op   key   value   op  key   value
  -----query 1----- -----query 2---- ---------action--------

Um Nachrichten in beiden zu ignorieren system.log und in Console.app sollten Sie Regeln hinzufügen, um Nachrichten vor dem folgenden Kommentar in asl.conf zu ignorieren.

# Flat file configurations formerly in syslog.conf

Beispiel mit dem Modifikator S, der Nachrichten ignoriert, die mit dieser Teilzeichenfolge von SIMBL Agent übereinstimmen.

? [= Sender SIMBL Agent] [S= Message warning: failed to get scripting definition from] ignore
  op -key-- ---value---  mod --key-- --------------------value-----------------------
  --------query 1------- -----------------------query 2------------------------------- action

Nach dem Hinzufügen einer Regel starten Sie den Daemon mit sudo killall HUP syslogd.

Erfolgreich Getestet in OS X 10.8.5.

 0
Author: 1.61803,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:45:29