Gdzie Linux przechowuje mój syslog?

82

Napisałem prostą aplikację testową, aby zarejestrować coś w pliku dziennika. Używam linux mint i po uruchomieniu aplikacji próbuję wyświetlić dziennik za pomocą tego polecenia:

ale komunikaty pliku nie istnieją ani sprawdzone, ani coś takiego. Poniżej znajdziesz mój kod. Może robię coś nie tak, plik nie jest tam zapisany lub muszę włączyć logowanie do linux mint.

opc0de
źródło
To zależy od używanego rejestratora systemu. Powinien mieć gdzieś plik konfiguracyjny, w /etc/którym musisz zmienić swój identyfikator ( "test"w twoim przypadku) i placówkę.
Jakiś programista koleś

Odpowiedzi:

80

Na moim komputerze z Ubuntu widzę dane wyjściowe pod adresem /var/log/syslog .

Na maszynie RHEL / CentOS dane wyjściowe znajdują się w /var/log/messages .

Jest to kontrolowane przez rsyslogusługę, więc jeśli jest wyłączone z jakiegoś powodu, być może trzeba będzie go uruchomićsystemctl start rsyslog .

Jak zauważyli inni, Twoje syslog()dane wyjściowe będą rejestrowane w /var/log/syslogpliku.
Możesz zobaczyć logi systemowe, użytkownika i inne pod adresem /var/log.

Aby uzyskać więcej informacji: oto interesujący link .

TheCottonSilk
źródło
Zobacz też: linuxhomenetworking.com/wiki/index.php/…
AjayKumarBasuthkar
1
Nie wydaje się, że /var/log/syslogjest to jakikolwiek rodzaj prawdziwej niewypłacalności; być może Ubuntu sam to konfiguruje.
kevr
25

Oprócz zaakceptowanej odpowiedzi warto znać następujące informacje ...

Z każdą z tych funkcji powinny być skojarzone strony podręcznika .

Jeśli uruchomisz man -k syslog(wyszukiwanie słów kluczowych w stronach podręcznika), otrzymasz listę stron podręcznika, które odnoszą się do syslog lub są o nim

Musisz zrozumieć sekcje instrukcji, aby zagłębić się dalej.

Oto fragment strony man dla man, który wyjaśnia sekcje strony man:

Aby przeczytać powyższe uruchom

Tak więc, jeśli uruchomisz man 3 syslog, otrzymasz pełną stronę podręcznika dla syslogfunkcji, którą wywołałeś w swoim kodzie.

Nie jest to bezpośrednia odpowiedź, ale miejmy nadzieję, że okaże się przydatna.

Rob Kielty
źródło
22

Domyślna lokalizacja dziennika (rhel) to

Wiadomości ogólne:

Wiadomości uwierzytelniające:

Wydarzenia pocztowe:

Sprawdź swoje /etc/syslog.conflub /etc/syslog-ng.conf(zależy to od zainstalowanego narzędzia syslog)

Przykład:

rkosegi
źródło
9

Musisz poinformować system, jakie informacje mają rejestrować i gdzie je umieścić. Rejestrowanie jest konfigurowane w /etc/rsyslog.confpliku, a następnie zrestartuj rsyslog, aby załadować nową konfigurację. Domyślne reguły rejestrowania są zwykle w /etc/rsyslog.d/50-default.confpliku.

David Tooke
źródło
4

Logowanie jest bardzo konfigurowalne w Linuksie i możesz zajrzeć do swojego /etc/syslog.conf(lub może poniżej /etc/rsyslog.d/). Szczegóły zależą od podsystemu rejestrowania i dystrybucji.

Zajrzyj także do plików poniżej /var/log/(i być może uruchom w dmesgposzukiwaniu dzienników jądra).

Basile Starynkevitch
źródło
1

Używam Ubuntu pod WSL (Podsystem Windows dla Linuksa) i systemctl start rsyslognie działa dla mnie.

Oto co zrobiłem:

Teraz syslogplik pojawi się pod adresem/var/log/

Deszcz
źródło