Provided by: util-linux-locales_2.41-4ubuntu4.2_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 2026-03-06 LOGGER(1)