Après avoir démarré ma machine en mode commenté (cmd + v au démarrage), je souhaite afficher les messages de journalisation générés, afin de déboguer une erreur que je reçois ( l'erreur ). L'erreur ne s'affiche brièvement à l'écran qu'au démarrage, avant le redémarrage de la machine. En conséquence, il n’ya pas de temps pour le lire correctement.
OS X fournit-il un fichier journal séparé pour les messages de démarrage, ou sont-ils enfouis dans les fichiers kernel.log et system.log? S'ils sont enterrés dans ces fichiers, existe-t-il un moyen rapide de se rendre au point de démarrage du système, dans le visualiseur de console?
À partir d'au moins Snow Leopard et éventuellement de Leopard, toute la journalisation sur le système passe par le mécanisme Apple System Log (ASL), qui est un démon central et une base de données pour tous les messages du journal. Le démon ASL s'assure également que les messages de journal appropriés qui répondent à certains critères traditionnels sont écrits dans des fichiers journaux de texte à plat classiques tels que system.log
et kernel.log
, mais tout est également transmis à la base de données ASL.
Pour plus d'informations, reportez-vous aux pages de manuel relatives à syslog(1)
, logger(1)
, syslog(3)
, asl(3)
, syslog.conf(5)
, asl.conf(5)
, syslogd(8)
, etc.
Vous pouvez utiliser syslog(1)
pour émettre des requêtes sur la base de données ASL. De plus, /Utilities/Console.app
fournit une interface graphique permettant de générer et d'enregistrer des requêtes personnalisées pour la base de données ASL.
Je suis à peu près sûr que le tampon de messages du noyau (généralement visualisé avec dmesg(8)
) est vidé dans la base de données ASL dès que le démarrage est suffisamment avancé pour que syslogd
soit exécuté, vous n'avez donc pas besoin d'appeler dmesg
directement, sauf par la force d'habitude. Ou si votre système ne démarre pas assez loin pour que syslogd
soit en cours d'exécution.
Ouvrez Terminal.app et lancez
Sudo dmesg
(votre mot de passe vous sera demandé)
Cela affichera les messages du système depuis le dernier démarrage jusqu'à maintenant (vous trouverez les messages de démarrage en haut de la sortie). Vous pouvez essayer
Sudo dmesg | plus
cela affichera ces messages page par page.
Je me suis moi-même demandé comment obtenir le journal le plus approprié au démarrage sans accès à la console/au terminal. Il s'est écrasé au démarrage, mais vous pouvez accéder au système de fichiers via le disque d'installation (un double démarrage Linux était disponible) Le fichier est:
/var/log/kernel.log
Si vous pouvez accéder à la console dans le système d'exploitation, il est préférable de suivre les autres suggestions et d'utiliser les commandes appropriées.
La réponse acceptée (par Spiff) ne m'a pas été utile, pas plus qu'il n'y a de kernel.log.
Ce qui fonctionne pour moi (sur macOS 10.12.6) est cette commande:
log show --predicate "processID == 0" --start $(date "+%Y-%m-%d") --debug
Il affiche tous les msgs du noyau actuels, y compris le processus de démarrage. Il doit être nettoyé, mais au moins, il contient tout ce dont j'avais besoin.