In C protokollieren wir folgendermaßen:
syslog( LOG_INFO, "proxying %s", url );
Wie können wir unter Linux das Protokoll überprüfen?
In C protokollieren wir folgendermaßen:
syslog( LOG_INFO, "proxying %s", url );
Wie können wir unter Linux das Protokoll überprüfen?
Antworten:
Wie wäre es less /var/log/syslog
?
/etc/syslog.conf
tail -f /var/log/syslog
ist wirklich schön, weil es die neueste Ausgabe zeigt, wenn es in das Syslog geht. Dies kann nützlich sein, wenn Sie versuchen, Probleme live zu beheben, anstatt sich etwas anzusehen, das ausschließlich in der Vergangenheit liegt.
Auf Fedora 19 scheint die Antwort zu sein /var/log/messages
. Überprüfen /etc/rsyslog.conf
Sie jedoch , ob es geändert wurde.
Standardmäßig ist es im Systemprotokoll unter angemeldet /var/log/syslog
, sodass es gelesen werden kann von:
tail -f /var/log/syslog
Wenn die Datei nicht vorhanden ist, überprüfen Sie, ob /etc/syslog.conf
die Konfigurationsdatei für syslogd angezeigt wird. Beachten Sie, dass die Konfigurationsdatei unterschiedlich sein kann. Überprüfen Sie daher den laufenden Prozess, wenn eine andere Datei verwendet wird:
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
Hinweis: In einigen Distributionen (z. B. Knoppix) können alle protokollierten Nachrichten an ein anderes Terminal gesendet werden (z. B. /dev/tty12
). Um darauf zuzugreifen tty12
, drücken Sie z. B. Control+ Alt+ F12.
Sie können auch das lsof
Tool verwenden, um herauszufinden, welche Protokolldatei der syslogd
Prozess verwendet, z
sudo lsof -p $(pgrep syslog) | grep log$
Um die Testnachricht an syslogd in der Shell zu senden, können Sie Folgendes versuchen:
echo test | logger
Verwenden Sie zur Fehlerbehebung ein Trace-Tool ( strace
unter Linux, dtruss
unter Unix), z.
sudo strace -fp $(cat /var/run/syslogd.pid)
Wenn Sie Vim mögen, verfügt es über eine integrierte Syntaxhervorhebung für die Syslog-Datei, z. B. werden Fehlermeldungen rot hervorgehoben.
vi +'syntax on' /var/log/syslog
auf dem Asus-Router könnte dies über erfolgen
:/bin# busybox
Es gibt auch andere Befehle im Zusammenhang mit.
syslog
Schreib in das Systemprotokoll? (Es sei denn, Sie sprechen über die untergeordnete Ebene für den Zugriff auf den Kernel-Nachrichtenringpuffer, aber ich bezweifle, dass diesurl
eine istint
.)