In C registriamo in questo modo:
syslog( LOG_INFO, "proxying %s", url );
In Linux come possiamo controllare il registro?
In C registriamo in questo modo:
syslog( LOG_INFO, "proxying %s", url );
In Linux come possiamo controllare il registro?
Risposte:
Che ne dici less /var/log/syslog
?
/etc/syslog.conf
tail -f /var/log/syslog
è davvero carino perché mostra l'output più recente mentre entra nel syslog. Può essere utile se stai cercando di risolvere qualcosa dal vivo, piuttosto che guardare a qualcosa che è strettamente nel passato.
Su Fedora 19, sembra che la risposta sia /var/log/messages
. Anche /etc/rsyslog.conf
se controlla se è stato modificato.
Per impostazione predefinita è registrato nel registro di sistema in /var/log/syslog
, quindi può essere letto da:
tail -f /var/log/syslog
Se il file non esiste, controlla /etc/syslog.conf
per vedere il file di configurazione per syslogd. Tieni presente che il file di configurazione potrebbe essere diverso, quindi controlla il processo in esecuzione se utilizza un file diverso:
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
Nota: in alcune distribuzioni (come Knoppix) tutti i messaggi registrati potrebbero essere inviati a terminali diversi (ad es. /dev/tty12
), Quindi per accedere ad es. tty12
Prova a premere Control+ Alt+ F12.
È inoltre possibile utilizzare lo lsof
strumento per scoprire quale file di registro syslogd
sta utilizzando il processo, ad es
sudo lsof -p $(pgrep syslog) | grep log$
Per inviare il messaggio di prova a syslogd nella shell, puoi provare:
echo test | logger
Per la risoluzione dei problemi, utilizzare uno strumento di traccia ( strace
su Linux, dtruss
su Unix), ad esempio:
sudo strace -fp $(cat /var/run/syslogd.pid)
Un'utilità molto interessante è journalctl
.
Ad esempio, per mostrare syslog alla console:, journalctl -t <syslog-ident>
dov'è l' <syslog-ident>
identità che hai dato alla funzione openlog
per inizializzare syslog.
syslog-ng
con il servizio systemd, è possibile visualizzare syslog conjournalctl --unit=syslog-ng@default.service
Se ti piace Vim, ha un'evidenziazione della sintassi incorporata per il file syslog, ad esempio evidenzierà i messaggi di errore in rosso.
vi +'syntax on' /var/log/syslog
sul router Asus potrebbe essere fatto tramite
:/bin# busybox
ci sono anche altri comandi relativi a.
syslog
scrive nel registro di sistema? (A meno che tu non stia parlando di quello di livello inferiore per accedere al buffer circolare dei messaggi del kernel, ma dubito cheurl
sia unint
.)