Provided by: util-linux-locales_2.41-4ubuntu3_all 

NAZWA
logger - umieszcza komunikaty w dzienniku systemowym
SKŁADNIA
logger [opcje] komunikat
OPIS
logger tworzy wpisy w dzienniku (logu) systemowym Gdy obecny jest opcjonalny argument komunikat, jest on zapisywany do dziennika. Jeśli argument jest nieobecny i nie podano opcji -f, do dziennika trafi standardowe wejście.
OPCJE
-d, --udp Używa tylko datagramów (UDP). Domyślnie, próba połączenia nastąpi z portem syslog zdefiniowanym w /etc/services, którym często jest port 514. Zob. też opcje --server i --socket, służące do zdefiniowania miejsca połączenia. -e, --skip-empty Ignoruje puste wiersze przy przetwarzaniu plików. Pusty wiersz jest definiowany jako wiersz bez żadnych znaków. Z tego powodu, wiersz zawierający białe znaki NIE jest uważany za pusty. Proszę zauważyć, że gdy podano opcję --prio-prefix, priorytet nie stanowi części wiersza. W tym trybie, pusty wiersz będzie zatem wierszem, który nie zawiera żadnych znaków po przedrostku określającym priorytet (np. <13>). -f, --file plik Zapisuje do dziennika zawartość podanego pliku. Opcji nie można łączyć z komunikatem z wiersza poleceń. -i Rejestruje identyfikator procesu logger w każdym wierszu. --id[=id] Rejestruje identyfikator procesu logger w każdym wierszu. Gdy poda się opcjonalny argument id, jest on używany zamiast identyfikatora procesu polecenia logger. Korzystanie z --id=$$ (PPID) jest zalecane w skryptach, które wysyłają wiele komunikatów. Proszę zauważyć, że infrastruktura dziennika systemowego (np. systemd, gdy nasłuchuje na /dev/log) może korzystać z poświadczeń lokalnego gniazda, nadpisując identyfikator procesu podany w komunikacie. logger(1) może ustawić te poświadczenia gniazda na podany id, ale wyłącznie gdy posiada się uprawnienia roota i proces o podanym identyfikatorze istnieje; w innym przypadku poświadczenia gniazda nie są modyfikowane, a problem jest po cichu ignorowany. --journald[=plik] Tworzy wpis dziennika systemd. Wpis jest odczytywany z podanego pliku, o ile zostanie podany, albo ze standardowego wejścia. Każdy wiersz musi zaczynać się od pola akceptowanego przez journald; więcej szczegółów w podręczniku systemd.journal-fields(7). Dobrym pomysłem jest zwykle korzystanie z MESSAGE_ID, bowiem ułatwia to odnajdywanie wpisów. Przykłady: logger --journald <<koniec MESSAGE_ID=67feb6ffbaf24c5cbec13c008dd72309 MESSAGE=Psy szczekają, karawana idzie dalej. PSY=szczekają KARAWANA=idzie dalej koniec logger --journald=wpis.txt Proszę zauważyć, że --journald zignoruje wartości innych opcji, takie jak priorytet. Jeśli priorytet jest potrzebny, należy go umieścić w wejściu, korzystając z pola PRIORITY. Wykonanie jedynie journalctl(1) wyświetli pole MESSAGE. Polecenie journalctl --output json-pretty pokaże pozostałe pola. Aby wprowadzić nowe wiersze w MESSAGE, należy podać MESSAGE kilka razy. Jest to obsługiwane jako specjalny przypadek, inne pola będą przechowywane w dzienniku jako tablica, jeśli pojawią się wielokrotnie. --msgid msgid Ustawia pole RFC 5424 <https://tools.ietf.org/html/rfc5424>. Proszę zauważyć, że wewnątrz msgid znak spacji jest niedozwolony. Opcja jest używana tylko, gdy podano równocześnie --rfc5424; w innym przypadku jest po cichu ignorowana. -n, --server serwer Zapisuje do podanego zdalnego serwera syslog, zamiast do gniazda dziennika systemowego. O ile nie podano --udp lub --tcp, logger spróbuje użyć najpierw UDP, ale jeśli to zawiedzie, nastąpi próba połączenia TCP. --no-act Powoduje, że zostanie wykonane wszystko, poza samym zapisem do dziennika oraz usunięciem połączenia z dziennikiem. Opcję można łączyć z --stderr w celach testowych. --octet-count Korzysta z tworzenia ramek metodą liczenia oktetów RFC 6587 <https://tools.ietf.org/html/rfc6587> do wysyłania komunikatów. Gdy nie korzysta się z tej opcji, domyślnie w przypadku UDP nie są tworzone ramki, a w przypadku TCP używane jest opisane w RFC6587 nieprzezroczyste tworzenie ramek (non-transparent framing lub inaczej octet stuffing). -P, --port port Korzysta z podanego portu. Gdy nie poda się tej opcji, portem jest domyślnie syslog w przypadku połączeń udp oraz syslog-conn w przypadku tcp. -p, --priority priorytet Zapisuje komunikat z zadanym priorytetem. Priorytet może być określony liczbowo lub jako para zagadnienie._poziom ("facility.level"). Na przykład, -p local3.info rejestruje komunikat jako o poziomie istotności informacyjnym dotyczącym zagadnienia local3. Domyślnym priorytetem jest user.notice. --prio-prefix Szuka przedrostka syslog w każdym wierszu odczytywanym ze standardowego wejścia. Przedrostek jest liczbą dziesiątkową, umieszczoną w nawiasach ostrych, która koduje zagadnienie i poziom. Liczba jest tworzona przez pomnożenie zagadnienia przez 8 i dodanie do tego iloczynu poziomu. Przykładowo local0.info, oznaczające zagadnienie=16 i poziom=6, staje się <134>. Jeśli przedrostek nie zawiera zagadnienia, zagadnieniem domyślnie będzie to, co podano opcją -p. Podobnie, jeśli nie podano przedrostka, wiersza jest zapisywany do dziennika z priorytetem podanym opcją -p. Opcja nie wpływa na komunikat podany w wierszu polecenia. --rfc3164 Korzysta z protokołu syslog BSD RFC 3164 <https://tools.ietf.org/html/rfc3164>, w celu przesłania komunikatów na zdalny serwer. --rfc5424[=bez] Korzysta z protokołu syslog RFC 5424 <https://tools.ietf.org/html/rfc5424>, w celu przesłania komunikatów na zdalny serwer. Opcjonalny argument bez może być listą następujących wartości: notq, notime, nohost, rozdzielonych przecinkami. Wartość notq wyłącza ustrukturyzowane dane o jakości czasu (time-quality) z zamieszczanych komunikatów. Informacje o jakości czasu pokazują, czy lokalny zegar był zsynchronizowany wraz z maksymalną liczbą mikrosekund, o jaką znacznik czasu może być odchylony. Jakość czasu jest również automatycznie wyłączana, gdy poda się --sd-id timeQuality. Wartość notime (która wymusza notq) wyłącza pełny znacznik czasu wysyłającego w formacie ISO-8601, w tym mikrosekundy i strefę czasową. Wartość nohost wyłącza informację gethostname(2) z nagłówka komunikatu. Protokół RFC 5424 jest domyślny dla programu logger od wersji 2.26. -s, --stderr Oprócz zapisu komunikatu do dziennika systemowego wysyła go na standardowe wyjście błędów. --sd-id nazwa[@cyfry] Określa identyfikator elementu ustrukturyzowanych danych dla nagłówka komunikatu RFC 5424. Aby wprowadzić nowy element, opcję trzeba podać przed --sd-param. Liczba elementów ustrukturyzowanych danych jest nieograniczona. Identyfikator (nazwa oraz ewentualnie @cyfry) jest wrażliwa na wielkość znaków i unikalnie identyfikuje typ i zastosowanie elementu. Ten sam identyfikator nie może wystąpić więcej niż raz w komunikacie. Część @cyfry jest wymagana dla niestandaryzowanych identyfikatorów zdefiniowanych przez użytkownika. logger obecnie tworzy jedynie standaryzowany element timeQuality. RFC 5424 opisuje również elementy origin (z parametrami ip, enterpriseId, software i swVersion) oraz meta (z parametrami sequenceId, sysUpTime i language). Te identyfikatory elementów można podać bez przyrostka @cyfry. --sd-param nazwa=wartość Określa parametr ustrukturyzowanego elementu danych, w postaci pary nazwy i wartości. Opcję należy podać po --sd-id i można to zrobić wielokrotnie dla tego samego elementu. Proszę zauważyć, że wartość musi być otoczona cudzysłowami, które należy zacytować w wierszu polecenia. logger --rfc5424 --sd-id zoo@123 \ --sd-param tygrys="głodny" \ --sd-param zebra="biega" \ --sd-id szef@123 \ --sd-param naSpotkaniu="tak" \ "oto komunikat" daje: <13>1 2015-10-01T14:07:59.168662+02:00 ws kzak - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="218616"][zoo@123 tygrys="głodny" zebra="biega"][szef@123 naSpotkaniu="tak"] oto komunikat -S, --size rozmiar Ustawia maksymalny dopuszczalny rozmiar komunikatu na rozmiar. Domyślnie jest to 1KiB znaków, co jest limitem tradycyjnym i podanym w RFC 3164. Wraz z RFC 5424 limit stał się elastyczny. Dobrym założeniem jest, że przyjmujący zgodni z RFC 5424 mogą przetworzyć komunikaty o wielkości co najmniej 4KiB. Większość przyjmujących akceptuje komunikaty większe niż 1KiB poprzez dowolny protokół syslog. Z tego powodu opcja --size ma wpływ na program logger we wszystkich przypadkach (nie tylko, gdy użyto --rfc5424). Uwaga: limit wielkości komunikatu dotyczy całego komunikatu, łącznie z nagłówkiem syslog. Rozmiar nagłówka zależy od wybranych opcji i długości nazwy stacji. W praktyce, nagłówki zwykle nie są dłuższe niż 50 do 80 znaków. Przy wyborze maksymalnego rozmiaru komunikatu należy upewnić się, że otrzymujący go obsługuje, w innym przypadku komunikaty mogą zostać przycięte. Ponownie, w praktyce rozmiary komunikatów od dwóch do czterech KiB powinny być zwykle w porządku, natomiast obsługę większych należy zweryfikować. --socket-errors tryb Wypisuje błędy o połączeniach gniazd uniksowych. Trybem może być jedna z wartości: on, off lub auto. Jeśli trybem jest auto (tak jest domyślnie), to logger wykryje czy procesem init jest systemd(1) i jeśli tak jest przyjmie, że /dev/log można użyć we wczesnej fazie rozruchu. Brak /dev/log w innych systemach init nie spowoduje błędów, podobnie jak używanie wywołania systemowego openlog(3). Program logger(1) przed wersją 2.26 używał openlog(3), zatem nie był w stanie wykryć utraty komunikatów wysłanych do gniazd uniksowych. Gdy wypisywanie błędów jest wyłączone, utracone komunikaty nie są komunikowane i spowodują pomyślny status zakończenia programu logger(1). -T, --tcp Używa wyłącznie strumienia (TCP). Domyślnie, próba połączenia ma miejsce na porcie syslog-conn zdefiniowanym w pliku /etc/services, który często wynosi 601. Zob. też opcje --server i --socket, służące do zdefiniowania miejsca połączenia. -t, --tag znacznik Oznacza każdy zapisywany do dziennika wiersz, podanym znacznikiem. Domyślnym znacznikiem jest nazwa użytkownika zalogowanego na terminalu (lub nazwa użytkownika oparta na efektywnym identyfikatorze użytkownika). -u, --socket gniazdo Zapisuje do podanego gniazda zamiast do systemowego gniazda dziennika. -- Kończy listę argumentów. Pozwala to rozpocząć komunikat minusem (-). -h, --help Wyświetla ten tekst i wychodzi. -V, --version Wyświetla wersję i wychodzi.
STATUS ZAKOŃCZENIA
Narzędzie logger wychodzi z 0 przy powodzeniu i z >0 jeśli wystąpił błąd.
ZAGADNIENIA I POZIOMY
Prawidłowe nazwy zagadnień to: auth authpriv do wrażliwych informacji związanych z bezpieczeństwem cron daemon ftp kern nie można wygenerować z przestrzeni użytkownika; automatycznie konwertowane do*user* lpr mail news syslog user uucp local0 do local7 security przestarzały synonim auth Prawidłowe nazwy poziomów to: emerg alert crit err warning notice info debug panic przestarzały synonim emerg error przestarzały synonim err warn przestarzały synonim warning Kolejność priorytetów oraz zamierzone zastosowania podanych zagadnień i poziomów opisano w podręczniku syslog(3).
ZGODNE Z
Polecenie logger powinno być zgodne z IEEE Std 1003.2 ("POSIX.2").
PRZYKŁADY
logger System się przeładował logger -p local0.notice -t HOSTIDM -f /dev/idmc logger -n loghost.example.com System się przeładował
AUTORZY
Polecenie logger pierwotnie napisano na Uniwersytecie Kalifornijskim w latach 1983-1993, a później zostało przepisane przez: Karela Zaka <kzak@redhat.com>, Rainera Gerhardsa <rgerhards@adiscon.com> oraz Samiego Kerolę <kerolasa@iki.fi>.
ZOBACZ TAKŻE
journalctl(1), syslog(3), systemd.journal-fields(7)
ZGŁASZANIE BŁĘDÓW
Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ
Polecenie logger jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>. util-linux 2.41 2025-07-02 LOGGER(1)