Czy funkcja nie syslogzapisuje w dzienniku systemowym? (Chyba że mówisz o niższym poziomie dostępu do bufora pierścienia wiadomości jądra, ale wątpię, czy urljest int.)
Cascabel
2
ten Q powinien zostać przeniesiony do unix.SE.com, nie jestem pewien, czy warto oflagować, aby zwrócić na siebie uwagę moda (oflagowałem).
@kern: Której dystrybucji i wersji Linuksa używasz?
NPE
6
@kern: Sprawdź zawartość swojego/etc/syslog.conf
NPE
25
tail -f /var/log/syslogjest naprawdę fajny, ponieważ pokazuje najnowsze dane wyjściowe, które trafiają do syslog. Może to być przydatne, jeśli próbujesz rozwiązać coś na żywo, zamiast patrzeć na coś, co jest ściśle z przeszłości.
przeciwstawienie się
16
to właściwie /etc/rsyslog.conf dla CentOs
Roman Goyenko
1
@ArunprasadRajkumar Innym sposobem byłoby uniknięcie rejestrowania wiadomości przeznaczonych do czytania przez zwykłych użytkowników na syslog
Dmitry Grigoryev
41
W Fedorze 19 wydaje się, że odpowiedź brzmi /var/log/messages. Chociaż sprawdź, /etc/rsyslog.confczy zostało zmienione.
Sprawdziłem to w openSUSE i zauważyłem, że dotyczy to również. Dzięki za udostępnienie!
silvioprog
23
Domyślnie jest zalogowany do dziennika systemowego /var/log/syslog, więc może być odczytany przez:
tail -f /var/log/syslog
Jeśli plik nie istnieje, sprawdź /etc/syslog.confplik konfiguracyjny syslogd. Zwróć uwagę, że plik konfiguracyjny może być inny, więc sprawdź uruchomiony proces, jeśli używa innego pliku:
Uwaga: W niektórych dystrybucjach (takich jak Knoppix) wszystkie zarejestrowane wiadomości mogą być wysyłane do innego terminala (np. /dev/tty12), Więc aby uzyskać do nich dostęp, na przykład tty12spróbuj nacisnąć Control+ Alt+ F12.
Możesz również użyć lsofnarzędzia, aby dowiedzieć się, którego pliku dziennika syslogdużywa proces, np
sudo lsof -p $(pgrep syslog) | grep log$
Aby wysłać wiadomość testową do syslogd w powłoce, możesz spróbować:
echotest | logger
Do rozwiązywania problemów użyj narzędzia do śledzenia ( stracew systemie Linux, w systemie dtrussUnix), np .:
Na przykład, aby pokazać syslog do console:, journalctl -t <syslog-ident>gdzie <syslog-ident>jest tożsamość nadana funkcji openlogdo zainicjowania syslog.
syslog
zapisuje w dzienniku systemowym? (Chyba że mówisz o niższym poziomie dostępu do bufora pierścienia wiadomości jądra, ale wątpię, czyurl
jestint
.)Odpowiedzi:
A co powiesz
less /var/log/syslog
?źródło
/etc/syslog.conf
tail -f /var/log/syslog
jest naprawdę fajny, ponieważ pokazuje najnowsze dane wyjściowe, które trafiają do syslog. Może to być przydatne, jeśli próbujesz rozwiązać coś na żywo, zamiast patrzeć na coś, co jest ściśle z przeszłości.W Fedorze 19 wydaje się, że odpowiedź brzmi
/var/log/messages
. Chociaż sprawdź,/etc/rsyslog.conf
czy zostało zmienione.źródło
Domyślnie jest zalogowany do dziennika systemowego
/var/log/syslog
, więc może być odczytany przez:tail -f /var/log/syslog
Jeśli plik nie istnieje, sprawdź
/etc/syslog.conf
plik konfiguracyjny syslogd. Zwróć uwagę, że plik konfiguracyjny może być inny, więc sprawdź uruchomiony proces, jeśli używa innego pliku:# ps wuax | grep syslog root /sbin/syslogd -f /etc/syslog-knoppix.conf
Uwaga: W niektórych dystrybucjach (takich jak Knoppix) wszystkie zarejestrowane wiadomości mogą być wysyłane do innego terminala (np.
/dev/tty12
), Więc aby uzyskać do nich dostęp, na przykładtty12
spróbuj nacisnąć Control+ Alt+ F12.Możesz również użyć
lsof
narzędzia, aby dowiedzieć się, którego pliku dziennikasyslogd
używa proces, npsudo lsof -p $(pgrep syslog) | grep log$
Aby wysłać wiadomość testową do syslogd w powłoce, możesz spróbować:
echo test | logger
Do rozwiązywania problemów użyj narzędzia do śledzenia (
strace
w systemie Linux, w systemiedtruss
Unix), np .:źródło
Bardzo fajnym narzędziem jest
journalctl
.Na przykład, aby pokazać syslog do console:,
journalctl -t <syslog-ident>
gdzie<syslog-ident>
jest tożsamość nadana funkcjiopenlog
do zainicjowania syslog.źródło
tail -f /var/log/syslog | grep process_name
gdzieprocess_name
jest nazwa procesu, który nas interesujeźródło
Jeśli lubisz Vima, ma on wbudowane podświetlanie składni dla pliku syslog, np. Podświetla komunikaty błędów na czerwono.
vi +'syntax on' /var/log/syslog
źródło
na routerze Asus można to zrobić za pośrednictwem
:/bin# busybox
istnieją również inne polecenia związane z.
źródło