Ich habe die Verwendung /dev/console
in mehreren Skripten für Mac OS X gesehen, bin mir aber nicht sicher, wie es verwendet wird. Ich habe Console.app überprüft und die Ergebnisse meines Testbefehls nicht gesehen:
Echotest> / dev / console
Wenn es dort ausgedruckt wird, wohin geht es oder wie würden Sie es verwenden?
Antworten:
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.
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
undsyslog.conf
Dateien konfiguriert . In der Standardkonfiguration werden die meisten Nachrichten nicht gespeichert, wenn ihre Ebene zu niedrig ist (undsyslog -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: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 DateiConsole 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.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.quelle
ich benutze:
logger Hello World
arbeitet immer für mich Dumps "Hallo Welt" in Syslog, das in console.app angezeigt werden sollte
quelle
Ich bin nicht sicher, aber es kann das Gerät sein, das aufgerufen wird, wenn> console in das Feld Benutzername des Anmeldefensters eingegeben wird. Wenn Sie oben eingeben, wird die CLI ausgegeben.
quelle
Sie können in eine Datei Ihrer Wahl schreiben, die Sie dann in der Konsolenanwendung anzeigen können.
Wenn Sie eine Protokollierung auf Benutzerebene wünschen, verwenden Sie:
oder für etwas, das für alle Benutzer geladen ist:
quelle