web-dev-qa-db-fra.com

Comment vérifier syslog dans Bash sous Linux?

En C on se connecte de cette façon:

syslog( LOG_INFO, "proxying %s", url );

Sous Linux, comment pouvons-nous consulter le journal?

63
kern

Que diriez-vous less /var/log/syslog?

97
NPE

Sur Fedora 19, il semble que la réponse soit /var/log/messages. Bien que vérifier /etc/rsyslog.conf _ si cela a été changé.

38
Hackonteur

Par défaut, il est connecté au journal système à l'adresse /var/log/syslog, il peut donc être lu par:

tail -f /var/log/syslog

Si le fichier n'existe pas, vérifiez /etc/syslog.conf pour voir le fichier de configuration de syslogd. Notez que le fichier de configuration peut être différent, alors vérifiez le processus en cours s'il utilise un fichier différent:

# ps wuax | grep syslog
root      /sbin/syslogd -f /etc/syslog-knoppix.conf

Remarque: dans certaines distributions (telles que Knoppix), tous les messages enregistrés peuvent être envoyés à un autre terminal (par exemple, /dev/tty12), pour accéder par exemple à tty12 essayez d'appuyer sur Control+Alt+F12.

Vous pouvez également utiliser l'outil lsof pour déterminer le fichier journal utilisé par le processus syslogd, par exemple.

Sudo lsof -p $(pgrep syslog) | grep log$ 

Pour envoyer le message de test à syslogd dans Shell, vous pouvez essayer:

echo test | logger

Pour le dépannage, utilisez un outil de trace (strace sous Linux, dtruss sous Unix), par exemple:

Sudo strace -fp $(cat /var/run/syslogd.pid)
16
kenorb

tail -f /var/log/syslog | grep process_nameprocess_name est le nom du processus qui nous intéresse

14
kshiteejm

Un utilitaire très cool est journalctl.

Par exemple, pour afficher syslog sur la console: journalctl -t <syslog-ident>, où <syslog-ident> est l’identité que vous avez donnée à la fonction openlog pour initialiser Syslog.

13
nhnghia