Man page - logger(1)
Packages contains this manual
Available languages:
en pl ja uk ro sr deManual
LOGGER
NAZWASKŁADNIA
OPIS
OPCJE
STATUS ZAKOŃCZENIA
ZAGADNIENIA I POZIOMY
ZGODNE Z
PRZYKŁADY
AUTORZY
ZOBACZ TAKŻE
ZGŁASZANIE BŁĘDÓW
DOSTĘPNOŚĆ
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/>.