Le /dev/console
périphérique n'est pas spécialement lié à l' application Console .
Dans Mac OS X 10.6, l' application console possède deux types de sources de données qu'elle lit: les fichiers journaux normaux (par exemple les fichiers entrants /var/log/
) et les messages consignés via la fonction syslog (étendue Apple).
Si vous souhaitez surveiller un fichier journal, vous pouvez utiliser l' élément de menu Fichier > Ouvrir… (⌘O) pour afficher le fichier dans la console .
Remarque: La seule façon de supprimer un fichier de la liste des fichiers de la console semble être d’utiliser son élément de menu Fichier > Déplacer vers la corbeille (⌘⌫); préparez-vous à extraire le fichier de la corbeille si vous voulez simplement arrêter de le regarder dans la console .
Vous pouvez utiliser le programme de ligne de commande syslog pour envoyer des messages à la fonction syslog.
syslog -s Your message goes here. \(quote special chars for the shell'!)'
Cependant, sous la configuration par défaut, ce message n'apparaîtra jamais dans aucune des vues de la console car son «niveau» est trop bas pour être important. Ce filtrage initial est dû à syslogd . Il est configuré par les fichiers asl.conf
et syslog.conf
. La configuration par défaut ne stocke pas la plupart des messages si leur niveau est trop bas (et par syslog -s
défaut au niveau le plus bas). La console ne peut afficher que les messages qui ont été stockés par syslogd .
Vous pouvez modifier la valeur du champ Niveau en utilisant l' -l
option:
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
Le notice
niveau est le niveau le plus bas (par défaut) pour lequel syslogd stockera la plupart des messages.
Un message généré comme celui-ci apparaîtra dans la recherche de base de données intégrée de la console «Tous les messages»
(le fichier All Messages.aslquery
dans /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
le limite techniquement au message où le champ de l'installation «contient» la chaîne vide, mais cette condition est trivialement satisfaite par n'importe quelle installation valeur).
Si vous voulez que votre message apparaisse dans la console intégrée à la recherche de base de données « Messages Console » de, alors vous devez être un peu plus précis. Il affiche uniquement les messages (stockés) dont le champ Facility est égal à com.apple.console
(voir le fichier Console Messages.aslquery
dans /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
). Vous pouvez générer de tels messages avec syslog par l' -k
option pour définir le champ Facility.
syslog -s -k Facility com.apple.console \
-k Level notice \
-k Message 'This will show up in "Console Messages"'
Lors de l'utilisation -k
, toutes les options et le message lui-même doivent être spécifiés avec des ensembles d' -k key value
arguments (nous ne pouvons pas utiliser -l
pour définir le niveau). Cela signifie que nous devons mettre le message un seul argument afin qu'il puisse être la valeur du champ Message.