J'essaie de consigner les événements / points de contrôle à partir de mon script shell à l'aide de logger
.
Comment utiliser logger
ou syslog
utilitaire sous OS X (version 10.12 (16A323)) . j'ai essayé
logger "Hello world"
et vérifié à l' /var/log/system.log
aide de l'application Console, voici l'entrée du journal créée
Impossible de récolter les chaînes pour le binaire nommé «–Xó ^ H»
Comment utiliser logger
sous OS X? Y a-t-il quelque chose à spécifier pour créer / ajouter une entrée au journal système OS X?
Hello World
dans un/var/log/*.log
fichier. Le comportement observé par @SG_ est reproductible sur mon Mac exécutant macOS 10.12. En outre,logger -s 'Hello World'
imprime correctement sur la console, mais pas dans un fichier journal sur le disque.Réponses:
Parce que le système d'enregistrement d'Apple a changé dans macOS sierra. Ils passent de la fonction Apple System Log à la journalisation unifiée.
Voici un lien vers la documentation du développeur.
Ce qui suit filtre le nouveau journal unifié pour le texte "Message4me"
=======
Si vous ajoutez --info, vous verrez également le message d'événement dans la sortie.
Dans les versions précédentes du système d'exploitation, la commande logger était envoyée au fichier /var/log/system.log si la priorité était suffisamment élevée (par exemple en utilisant -p alert) ainsi qu'à la base de données syslog. Dans Sierra, le fichier system.log n'est pas écrit lorsque l'enregistreur est utilisé avec -p alert -pas dans 10.12.1 de toute façon. Cela pourrait être un bug.
Vous pouvez toujours utiliser l'enregistreur pour envoyer au nouveau système de journalisation, mais vous devrez utiliser l'application Console ou l'utilitaire cli log ou la nouvelle API pour voir les résultats.
la source
J'ai résolu ce problème en ayant un script qui utilise netcat pour envoyer des journaux spécifiques toutes les 10 minutes à partir d'un launchdaemon. Modifiez au besoin.
la source
Ce n'est pas une vraie réponse mais une solution de contournement et trop longue pour un commentaire.
J'ai rencontré le même problème dans Sierra en essayant de consigner un script shell de mise à jour homebrew comprenant des commandes de journalisation (qui fonctionnaient dans El Capitan). J'ai dû abandonner l' enregistreur et j'ai simplement utilisé l'écho, la redirection de sortie et un nouveau fichier journal:
la source