LOGGER(1) Polecenia uzytkownika LOGGER(1) NAZWA logger - umieszcza komunikaty w dzienniku systemowym SKLADNIA logger [opcje] komunikat OPIS logger tworzy wpisy w dzienniku (logu) systemowym Gdy obecny jest opcjonalny argument komunikat, jest on zapisywany do dziennika. Jesli argument jest nieobecny i nie podano opcji -f, do dziennika trafi standardowe wejscie. OPCJE -d, --udp Uzywa tylko datagramow (UDP). Domyslnie, proba polaczenia nastapi z portem syslog zdefiniowanym w /etc/services, ktorym czesto jest port 514. Zob. tez opcje --server i --socket, sluzace do zdefiniowania miejsca polaczenia. -e, --skip-empty Ignoruje puste wiersze przy przetwarzaniu plikow. Pusty wiersz jest definiowany jako wiersz bez zadnych znakow. Z tego powodu, wiersz zawierajacy biale znaki NIE jest uwazany za pusty. Prosze zauwazyc, ze gdy podano opcje --prio-prefix, priorytet nie stanowi czesci wiersza. W tym trybie, pusty wiersz bedzie zatem wierszem, ktory nie zawiera zadnych znakow po przedrostku okreslajacym priorytet (np. <13>). -f, --file plik Zapisuje do dziennika zawartosc podanego pliku. Opcji nie mozna laczyc z komunikatem z wiersza polecen. -i Rejestruje identyfikator procesu logger w kazdym wierszu. --id[=id] Rejestruje identyfikator procesu logger w kazdym wierszu. Gdy poda sie opcjonalny argument id, jest on uzywany zamiast identyfikatora procesu polecenia logger. Korzystanie z --id=$$ (PPID) jest zalecane w skryptach, ktore wysylaja wiele komunikatow. Note that the system logging infrastructure (for example systemd when listening on /dev/log) may follow local socket credentials to override the PID specified in the message. logger(1) is able to set those socket credentials to the given id, but only if you have root permissions and a process with the specified PID exists, otherwise the socket credentials are not modified and the problem is silently ignored. --journald[=plik] Tworzy wpis dziennika systemd. Wpis jest odczytywany z podanego pliku, o ile zostanie podany, albo ze standardowego wejscia. Kazdy wiersz musi zaczynac sie od pola akceptowanego przez journald; wiecej szczegolow w podreczniku systemd.journal-fields(7). Dobrym pomyslem jest zwykle korzystanie z MESSAGE_ID, bowiem ulatwia to odnajdywanie wpisow. Przyklady: logger --journald <. Prosze zauwazyc, ze wewnatrz msgid znak spacji jest niedozwolony. Opcja jest uzywana tylko, gdy podano rownoczesnie --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 sprobuje uzyc najpierw UDP, ale jesli to zawiedzie, nastapi proba polaczenia TCP. --no-act Powoduje, ze zostanie wykonane wszystko, poza samym zapisem do dziennika oraz usunieciem polaczenia z dziennikiem. Opcje mozna laczyc z --stderr w celach testowych. --octet-count Korzysta z tworzenia ramek metoda liczenia oktetow RFC 6587 do wysylania komunikatow. Gdy nie korzysta sie z tej opcji, domyslnie w przypadku UDP nie sa tworzone ramki, a w przypadku TCP uzywane jest opisane w RFC6587 nieprzezroczyste tworzenie ramek (non-transparent framing lub inaczej octet stuffing). -P, --port port Korzysta z podanego portu. Gdy nie poda sie tej opcji, portem jest domyslnie syslog w przypadku polaczen udp oraz syslog-conn w przypadku tcp. -p, --priority priorytet Zapisuje komunikat z zadanym priorytetem. Priorytet moze byc okreslony liczbowo lub jako para zagadnienie._poziom ("facility.level"). Na przyklad, -p local3.info rejestruje komunikat jako o poziomie istotnosci informacyjnym dotyczacym zagadnienia local3. Domyslnym priorytetem jest user.notice. --prio-prefix Szuka przedrostka syslog w kazdym wierszu odczytywanym ze standardowego wejscia. Przedrostek jest liczba dziesiatkowa, umieszczona w nawiasach ostrych, ktora koduje zagadnienie i poziom. Liczba jest tworzona przez pomnozenie zagadnienia przez 8 i dodanie do tego iloczynu poziomu. Przykladowo local0.info, oznaczajace zagadnienie=16 i poziom=6, staje sie <134>. Jesli przedrostek nie zawiera zagadnienia, zagadnieniem domyslnie bedzie to, co podano opcja -p. Podobnie, jesli nie podano przedrostka, wiersza jest zapisywany do dziennika z priorytetem podanym opcja -p. This option doesn't affect a command-line message. This option is primarily designed for use cases where logger is used in a pipeline (e.g., daemon | logger --prio-prefix) to read multiple messages with different priorities. --rfc3164 Korzysta z protokolu syslog BSD RFC 3164 , w celu przeslania komunikatow na zdalny serwer. --rfc5424[=bez] Korzysta z protokolu syslog RFC 5424 , w celu przeslania komunikatow na zdalny serwer. Opcjonalny argument bez moze byc lista nastepujacych wartosci: notq, notime, nohost, rozdzielonych przecinkami. Wartosc notq wylacza ustrukturyzowane dane o jakosci czasu (time-quality) z zamieszczanych komunikatow. Informacje o jakosci czasu pokazuja, czy lokalny zegar byl zsynchronizowany wraz z maksymalna liczba mikrosekund, o jaka znacznik czasu moze byc odchylony. Jakosc czasu jest rowniez automatycznie wylaczana, gdy poda sie --sd-id timeQuality. Wartosc notime (ktora wymusza notq) wylacza pelny znacznik czasu wysylajacego w formacie ISO-8601, w tym mikrosekundy i strefe czasowa. Wartosc nohost wylacza informacje gethostname(2) z naglowka komunikatu. Protokol RFC 5424 jest domyslny dla programu logger od wersji 2.26. -s, --stderr Output the message to standard error as well as to the system log. The complete message is output in the same form as sent to syslog or journald, including priority and possibly other fields. This option is primarily designed for debugging purposes and is often used with --no-act. --sd-id nazwa[@cyfry] Okresla identyfikator elementu ustrukturyzowanych danych dla naglowka komunikatu RFC 5424. Aby wprowadzic nowy element, opcje trzeba podac przed --sd-param. Liczba elementow ustrukturyzowanych danych jest nieograniczona. Identyfikator (nazwa oraz ewentualnie @cyfry) jest wrazliwa na wielkosc znakow i unikalnie identyfikuje typ i zastosowanie elementu. Ten sam identyfikator nie moze wystapic wiecej niz raz w komunikacie. Czesc @cyfry jest wymagana dla niestandaryzowanych identyfikatorow zdefiniowanych przez uzytkownika. logger obecnie tworzy jedynie standaryzowany element timeQuality. RFC 5424 opisuje rowniez elementy origin (z parametrami ip, enterpriseId, software i swVersion) oraz meta (z parametrami sequenceId, sysUpTime i language). Te identyfikatory elementow mozna podac bez przyrostka @cyfry. --sd-param nazwa=wartosc Okresla parametr ustrukturyzowanego elementu danych, w postaci pary nazwy i wartosci. Opcje nalezy podac po --sd-id i mozna to zrobic wielokrotnie dla tego samego elementu. Prosze zauwazyc, ze wartosc musi byc otoczona cudzyslowami, ktore nalezy zacytowac w wierszu polecenia. logger --rfc5424 --sd-id zoo@123 \ --sd-param tygrys="glodny" \ --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="glodny" zebra="biega"][szef@123 naSpotkaniu="tak"] oto komunikat -S, --size rozmiar Ustawia maksymalny dopuszczalny rozmiar komunikatu na rozmiar. Domyslnie jest to 1KiB znakow, co jest limitem tradycyjnym i podanym w RFC 3164. Wraz z RFC 5424 limit stal sie elastyczny. Dobrym zalozeniem jest, ze przyjmujacy zgodni z RFC 5424 moga przetworzyc komunikaty o wielkosci co najmniej 4KiB. Wiekszosc przyjmujacych akceptuje komunikaty wieksze niz 1KiB poprzez dowolny protokol syslog. Z tego powodu opcja --size ma wplyw na program logger we wszystkich przypadkach (nie tylko, gdy uzyto --rfc5424). Uwaga: limit wielkosci komunikatu dotyczy calego komunikatu, lacznie z naglowkiem syslog. Rozmiar naglowka zalezy od wybranych opcji i dlugosci nazwy stacji. W praktyce, naglowki zwykle nie sa dluzsze niz 50 do 80 znakow. Przy wyborze maksymalnego rozmiaru komunikatu nalezy upewnic sie, ze otrzymujacy go obsluguje, w innym przypadku komunikaty moga zostac przyciete. Ponownie, w praktyce rozmiary komunikatow od dwoch do czterech KiB powinny byc zwykle w porzadku, natomiast obsluge wiekszych nalezy zweryfikowac. --socket-errors tryb Wypisuje bledy o polaczeniach gniazd uniksowych. Trybem moze byc jedna z wartosci: on, off lub auto. Jesli trybem jest auto (tak jest domyslnie), to logger wykryje czy procesem init jest systemd(1) i jesli tak jest przyjmie, ze /dev/log mozna uzyc we wczesnej fazie rozruchu. Brak /dev/log w innych systemach init nie spowoduje bledow, podobnie jak uzywanie wywolania systemowego openlog(3). Program logger(1) przed wersja 2.26 uzywal openlog(3), zatem nie byl w stanie wykryc utraty komunikatow wyslanych do gniazd uniksowych. Gdy wypisywanie bledow jest wylaczone, utracone komunikaty nie sa komunikowane i spowoduja pomyslny status zakonczenia programu logger(1). -T, --tcp Uzywa wylacznie strumienia (TCP). Domyslnie, proba polaczenia ma miejsce na porcie syslog-conn zdefiniowanym w pliku /etc/services, ktory czesto wynosi 601. Zob. tez opcje --server i --socket, sluzace do zdefiniowania miejsca polaczenia. -t, --tag znacznik Oznacza kazdy zapisywany do dziennika wiersz, podanym znacznikiem. Domyslnym znacznikiem jest nazwa uzytkownika zalogowanego na terminalu (lub nazwa uzytkownika oparta na efektywnym identyfikatorze uzytkownika). -u, --socket gniazdo Zapisuje do podanego gniazda zamiast do systemowego gniazda dziennika. -- Konczy liste argumentow. Pozwala to rozpoczac komunikat minusem (-). -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. STATUS ZAKONCZENIA Narzedzie logger wychodzi z 0 przy powodzeniu i z >0 jesli wystapil blad. ZAGADNIENIA I POZIOMY Prawidlowe nazwy zagadnien to: auth authpriv do wrazliwych informacji zwiazanych z bezpieczenstwem cron daemon ftp kern nie mozna wygenerowac z przestrzeni uzytkownika; automatycznie konwertowane do*user* lpr mail news syslog user uucp local0 do local7 security przestarzaly synonim auth Prawidlowe nazwy poziomow to: emerg alert crit err warning notice info debug panic przestarzaly synonim emerg error przestarzaly synonim err warn przestarzaly synonim warning Kolejnosc priorytetow oraz zamierzone zastosowania podanych zagadnien i poziomow opisano w podreczniku syslog(3). ZGODNE Z Polecenie logger powinno byc zgodne z IEEE Std 1003.2 ("POSIX.2"). PRZYKLADY logger System sie przeladowal logger -p local0.notice -t HOSTIDM -f /dev/idmc logger -n loghost.example.com System sie przeladowal AUTORZY Polecenie logger pierwotnie napisano na Uniwersytecie Kalifornijskim w latach 1983-1993, a pozniej zostalo przepisane przez: Karela Zaka , Rainera Gerhardsa oraz Samiego Kerole . ZOBACZ TAKZE journalctl(1), syslog(3), systemd.journal-fields(7) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie logger jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.42.2 2026-06-16 LOGGER(1)