Das /dev/console
Gerät ist nicht speziell mit der Konsolenanwendung verbunden .
In Mac OS X 10.6 verfügt die Konsolenanwendung über zwei Arten von Datenquellen, die sie liest: normale Protokolldateien (z. B. die Dateien in /var/log/
) und Nachrichten, die über die (von Apple erweiterte) Syslog-Funktion protokolliert werden.
Wenn Sie eine Protokolldatei haben, die Sie überwachen möchten, können Sie die Datei in der Konsole über den Menüpunkt Datei > Öffnen… (⌘O) anzeigen .
Hinweis: Die einzige Möglichkeit, eine Datei aus der Dateiliste der Konsole zu entfernen, scheint darin zu bestehen, den Menüpunkt Datei > In den Papierkorb verschieben (⌘⌫) zu verwenden. Seien Sie bereit, die Datei aus dem Papierkorb zu ziehen, wenn Sie sie nicht mehr in der Konsole ansehen möchten .
Sie können das Syslog- Befehlszeilenprogramm verwenden, um Nachrichten an die Syslog-Funktion zu senden.
syslog -s Your message goes here. \(quote special chars for the shell'!)'
In der Standardkonfiguration wird diese Meldung jedoch in keiner der Konsolenansichten angezeigt, da die "Ebene" zu niedrig ist, um wichtig zu sein. Diese anfängliche Filterung ist auf syslogd zurückzuführen . Es wird von den asl.conf
und syslog.conf
Dateien konfiguriert . In der Standardkonfiguration werden die meisten Nachrichten nicht gespeichert, wenn ihre Ebene zu niedrig ist (und syslog -s
standardmäßig die niedrigste Ebene verwendet wird). Die Konsole kann nur Nachrichten anzeigen, die von syslogd gespeichert wurden .
Sie können den Wert des Felds Ebene ändern, indem Sie die folgende -l
Option verwenden:
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
Die notice
Ebene ist die (Standard-) niedrigste Ebene, für die syslogd die meisten Nachrichten speichert.
Eine Meldung wie diese erzeugt wird angezeigt Console ‚s integrierte‚All messsages‘Datenbanksuche
(die Datei All Messages.aslquery
in /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
technisch begrenzt sie auf die Nachricht , wo die Einrichtung Feld die leere Zeichenfolge‚enthält‘, aber diese Bedingung trivialerweise durch eine Einrichtung erfüllt ist Wert).
Wenn Sie möchten, dass Ihre Nachricht in der in der Konsole integrierten Datenbanksuche "Konsolennachrichten" angezeigt wird, müssen Sie etwas spezifischer sein. Es werden nur (gespeicherte) Nachrichten angezeigt, deren Facility-Feld gleich ist com.apple.console
(siehe Datei Console Messages.aslquery
in /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
). Sie können solche Nachrichten mit Syslog generieren, indem Sie das -k
Feld Einrichtung festlegen.
syslog -s -k Facility com.apple.console \
-k Level notice \
-k Message 'This will show up in "Console Messages"'
Bei der Verwendung -k
müssen alle Optionen und die Nachricht selbst mit einer Reihe von -k key value
Argumenten angegeben werden (wir können -l
die Ebene nicht festlegen). Dies bedeutet, dass wir der Nachricht ein einzelnes Argument geben müssen, damit es der Wert des Nachrichtenfelds sein kann.