Provided by: util-linux-locales_2.40.2-1ubuntu1_all
НАЗВА
logger - вписування повідомлень до журналу системи
КОРОТКИЙ ОПИС
logger [options] message
ОПИС
logger makes entries in the system log. Якщо вказано необов’язковий аргумент повідомлення, його буде записано до журналу. Якщо аргумент не вказано, і не використано параметр -f, до журналу буде записано дані зі стандартного джерела вхідних даних.
ПАРАМЕТРИ
-d, --udp Використовувати лише датаграми (UDP). Типово, буде виконано спробу встановити з’єднання із портом syslog, який визначено в /etc/services, яким часто є 514. Додаткові відомості щодо визначення місця з’єднання наведено у описах --server і --socket. -e, --skip-empty Ігнорувати під час обробки файлів порожні рядки. За визначенням, порожнім вважають рядок без будь-яких символів. Отже, рядок, що складається з пробілів НЕ вважають порожнім. Зауважте, що якщо вказано параметр --prio-prefix, пріоритетність запису не вважатиметься частиною рядка. Таким чином, порожнім у цьому режимі буде рядок, у якому не міститься жодних символів після префікса пріоритетності (наприклад <13>). -f, --file файл Записати до журналу вміст вказаного файла. Цей параметр не можна поєднувати з повідомленням командного рядка. -i Записувати PID досліджуваного процесу до кожного рядка. --id[=ідентифікатор] Записати до журналу PID процесу logger до кожного рядка. Якщо вказано необов’язковий аргумент ідентифікатор, його буде використано замість PID команди logger. У скриптах, які надсилають декілька повідомлень, рекомендовано користуватися --id=$$ (PPID). Зауважте, що в інфраструктурі ведення журналу системи (наприклад, у systemd при очікуванні даних з /dev/log) може бути використано реєстраційні дані локального сокета для перезапису PID, який вказано у повідомленні. logger(1) може встановити для реєстраційних даних таких сокетів вказаний ідентифікатор, але лише якщо у вас є права доступу користувача root, і процес із вказаним PID існує, інакше реєстраційні дані сокета не буде змінено, а проблему буде без додаткових повідомлень проігноровано. --journald[=файл] Створити запис журналу systemd. Запис буде прочитано з заданого файла, якщо його вказано. Якщо файл не вказано, запис буде прочитано зі стандартного джерела вхідних даних. Кожен рядок має починатися з поля, яке є прийнятним для journald. Див. systemd.journal-fields(7), щоб дізнатися більше. Загалом, варто користуватися полем MESSAGE_ID, оскільки воно спрощує пошук. Приклади: logger --journald <<end MESSAGE_ID=67feb6ffbaf24c5cbec13c008dd72309 MESSAGE=The dogs bark, but the caravan goes on. DOGS=bark CARAVAN=goes on end logger --journald=entry.txt Зауважте, що --journald ігноруватиме значення інших параметрів, зокрема пріоритетності. Якщо потрібна пріоритетність, вона має бути у вхідних даних і використовувати поле PRIORITY. Просте виконання journalctl(1) призведе до виведення поля MESSAGE. Скористайтеся journalctl --output json-pretty для перегляду решти полів. Щоб включити до MESSAGE символи розриву рядків, вкажіть MESSAGE декілька разів. Такий випадок буде оброблено як особливий, інші поля буде збережено як масив у журналі, якщо їх вказано декілька разів. --msgid ідентифікатор-повідомлення Встановлює значення поля MSGID з RFC 5424 <https://tools.ietf.org/html/rfc5424>. Зауважте, що символ пробілу в аргументі ідентифікатор-повідомлення використовувати не можна. Цей параметр використовують, лише якщо також використано параметр --rfc5424. Якщо параметр --rfc5424 не використано, цей параметр буде без повідомлень проігноровано. -n, --server сервер Записати повідомлення на вказаному віддаленому сервері syslog, замість сокета системного журналу. Якщо не вказано --udp або --tcp, logger спочатку спробує скористатися UDP, а якщо це не вдасться, спробує встановити з’єднання TCP. --no-act Наказує програмі виконати усі дії, окрім записування повідомлення журналу до системного журналу і вилучення з’єднання із журналом. Цей параметр можна використовувати разом із --stderr з метою тестування. --octet-count Використовувати метод кадрування при обліку октет із RFC 6587 <https://tools.ietf.org/html/rfc6587> при надсиланні повідомлень. Якщо цей параметр не використано, типовим є вимикання кадрування у UDP і використання непрозорого кадрування з RFC6587 (також відомого як набивання октет) у TCP. -P, --port порт Використати вказаний порт. Якщо цей параметр не вказано, типовим портом буде syslog для з’єднань udp і syslog-conn для з’єднань tcp. -p, --priority пріоритетність Вписати повідомлення до журналу з використанням вказаної пріоритетності. Пріоритетність може бути вказано у числовій формі або як пару можливість.рівень. Наприклад, -p local3.info записує повідомлення як інформаційне у можливості local3. Типовою є пара user.notice. --prio-prefix Шукати префікс syslog у кожному рядку, який прочитано зі стандартного джерела вхідних даних. Цей префікс є десятковим числом у кутових дужках, у якому закодовано одразу можливість і рівень. Число буде побудовано шляхом множення можливості на 8 із додаванням рівня. Наприклад, local0.info означає, що можливість=16 і рівень=6, що дає <134>. Якщо у префіксі не міститься запису можливості, типовою є можливість, яку вказано за допомогою параметра -p. Так само, якщо не вказано префікс, рядок буде записано до журналу з використанням значення пріоритетності, яка задано за допомогою -p. Цей параметр не впливає на повідомлення командного рядка. --rfc3164 Скористатися протоколом syslog BSD з RFC 3164 <https://tools.ietf.org/html/rfc3164> для надсилання повідомлень на віддалений сервер. --rfc5424[=аргумент] Скористатися протоколом syslog з RFC 5424 <https://tools.ietf.org/html/rfc5424> для надсилання повідомлень на віддалений сервер. Необов’язковим аргументом аргумент можна скористатися для визначення списку відокремлених комами таких значень: notq, notime, nohost. Значення notq придушує структуровані дані щодо якості часу у надісланому повідомленні. Дані щодо якості часу показують, чи синхронізовано локальний годинник, і вказують на максимальне відхилення часової позначки. Якість часу також буде автоматично придушено, якщо вказано параметр --sd-id timeQuality. Значення notime (яке неявним чином встановлює notq) придушує повну часову позначку відправника у форматі ISO-8601, включно з мікросекундами і часовим поясом. Значення nohost придушує відомості gethostname(2) у заголовку повідомлення. Протокол RFC 5424 став типовим для logger, починаючи з версії 2.26. -s, --stderr Вивести повідомлення до стандартного виведення помилок, окрім системного журналу. --sd-id назва[@цифри] Вказує ідентифікатор елемента структурованих даних для заголовка повідомлення за RFC 5424. Параметр слід використовувати до вказаного --sd-param для впровадження нового елемента. Кількість елементів структурованих даних не обмежено. Ідентифікатор (назва плюс можливо @цифри) записують із врахуванням регістру символів і унікально ідентифікує тип і призначення елемента. У повідомленні не повинно бути більше за один той самий ідентифікатор. Частина @цифри є обов’язковою для визначених користувачем нестандартних ідентифікаторів. logger currently generates the timeQuality standardized element only. RFC 5424 also describes the elements origin (with parameters ip, enterpriseId, software and swVersion) and meta (with parameters sequenceId, sysUpTime and language). These element IDs may be specified without the @digits suffix. --sd-param назва=значення Вказує параметр елемента структурованих даних, пару назва-значення. Параметр має бути використано після --sd-id, його можна вказувати декілька разів для одного елемента. Зверніть увагу на те, що слід використовувати лапки навколо значення, а вміст має бути екрановано у командному рядку. logger --rfc5424 --sd-id zoo@123 \ --sd-param tiger="голодний" \ --sd-param zebra="біжить" \ --sd-id manager@123 \ --sd-param onMeeting="yes" \ "це повідомлення" дає: <13>1 2015-10-01T14:07:59.168662+02:00 ws kzak - - [timeQuality tzKnown="1" isSynced="1" syncAccuracy="218616"][zoo@123 tiger="hungry" zebra="running"][manager@123 onMeeting="yes"] this is message -S, --size розмір Встановити максимальний припустимий розмір повідомлення у значення розмір. Типовим розміром є 1 КіБ символів, тобто обмеження, яке традиційно використовують і яке вказано у RFC 3164. З появою RFC 5424 обмеження стало гнучким. Притомним припущенням є те, що отримувачі за стандартом RFC 5424 можуть обробляти повідомлення, розмір яких дорівнює принаймні 4 КіБ. Більшість отримувачів приймають повідомлення, розмір яких перевищує 1 КіБ, за будь-яким типом протоколу syslog. Отже, параметр --size стосується logger в усіх випадках (не лише, коли використано --rfc5424). Зауваження: обмеження розміру повідомлення стосується загального розміру повідомлення, включно із заголовком syslog. Розмір заголовка залежить від вибраних параметрів і довжини назви вузла. Як правило, довжина заголовка не перевищує значення від 50 до 80 символів. При виборі максимального розміру повідомлення важливо переконатися, що на боці отримувача також передбачено підтримку максимального розміру, інакше повідомлення може бути обрізано. Знову ж таки, як правило, розмір повідомлення від двох до чотирьох КіБ має бути задовільним, працездатність усіх інших більших розмірів слід перевіряти. --socket-errors[=режим] Виводити повідомлення про помилки щодо з’єднань із сокетом Unix. Значенням аргументу режим може бути один з таких рядків: off, on або auto. Якщо режимом є auto, logger виконає визначення того, чи є процесом ініціалізації systemd(1), і якщо це так, зробить припущення про можливість використання /dev/log на ранніх етапах завантаження системи. У інших системах ініціалізації без /dev/log помилок не виникне, що подібне до обміну повідомленнями за допомогою системного виклику openlog(3). Програма logger(1) до версії 2.26 використовувала openlog(3), а отже, не могла виявляти втрату повідомлень, які надіслано до сокетів Unix. Типовим режимом є auto. Якщо помилки не увімкнено, обмін втраченими повідомленнями не відбуватиметься, а результатом буде успішний стан виходу при виклику logger(1). -T, --tcp Використовувати лише потік (TCP). Типово, буде виконано спробу встановити з’єднання із портом syslog-conn, який визначено в /etc/services, яким часто є 601. Додаткові відомості щодо визначення місця з’єднання наведено у описах --server і --socket. -t, --tag мітка Позначити кожен з рядків, які слід записувати до журналу, вказаною міткою. Типовою міткою є ім’я користувача, який увійшов до системи у терміналі (або ім’я користувача, якеи визначено на основі ідентифікатора ефективного користувача). -u, --socket сокет Записати дані до вказаного сокета замість сокета журналу системи. -- Кінець списку аргументів. За допомогою цього параметра можна розпочинати повідомлення з дефіса (-). -h, --help Вивести текст довідки і завершити роботу. -V, --version Вивести дані щодо версії і завершити роботу.
СТАН ВИХОДУ
Допоміжна програма logger завершує роботу із кодом стану 0 у разі успіху і кодом стану >0, якщо станеться помилка.
МОЖЛИВОСТІ І РІВНІ
Коректними назвами можливостей є такі: auth authpriv for security information of a sensitive nature cron daemon ftp kern cannot be generated from userspace process, automatically converted to user lpr mail news syslog user uucp local0 to local7 security застарілий синонім auth Коректними назвами рівнів є такі: emerg alert crit err warning notice info debug panic deprecated synonym for emerg error deprecated synonym for err warn deprecated synonym for warning Опис порядку пріоритетності та призначення цих можливостей і рівнів можна знайти на сторінці підручника щодо syslog(3).
ВІДПОВІДНІСТЬ
Команда logger має бути сумісною із стандартом IEEE 1003.2 ("POSIX.2").
ПРИКЛАДИ
logger System rebooted logger -p local0.notice -t HOSTIDM -f /dev/idmc logger -n loghost.example.com System rebooted
АВТОРИ
Початкову версію програми logger було створено Каліфорнійським університетом у 1983-1993 роках, а пізніше переписано Karel Zak <kzak@redhat.com>, Rainer Gerhards <rgerhards@adiscon.com> і Sami Kerola <kerolasa@iki.fi>.
ТАКОЖ ПЕРЕГЛЯНЬТЕ
journalctl(1), syslog(3), systemd.journal-fields(7)
ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ
Для звітування щодо вад скористайтеся системою стеження за вадами - https://github.com/util-linux/util-linux/issues.
ДОСТУП ДО ПРОГРАМИ
Програма logger є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.