LOGGER(1)

НАЗВА
logger - вписування повідомлень до журналу системи

КОРОТКИЙ ОПИС

logger [параметри] повідомлення

ОПИС

logger робить записи до системного журналу.

Якщо вказано необов’язковий аргумент повідомлення, його буде записано до журналу. Якщо аргумент не вказано, і не використано параметр -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).

    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[=файл]
    Створити запис журналу 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 з Зауважте, що символ пробілу в аргументі ідентифікатор-повідомлення використовувати не можна. Цей параметр використовують, лише якщо також використано параметр --rfc5424. Якщо параметр --rfc5424 не використано, цей параметр буде без повідомлень проігноровано.

-n, --server сервер
    Записати повідомлення на вказаному віддаленому сервері syslog, замість сокета системного журналу. Якщо не вказано --udp або --tcp, logger спочатку спробує скористатися UDP, а якщо це не вдасться, спробує встановити з’єднання TCP.

--no-act
    Наказує програмі виконати усі дії, окрім записування повідомлення журналу до системного журналу і вилучення з’єднання із журналом. Цей параметр можна використовувати разом із --stderr з метою тестування.

--octet-count
    Використовувати метод кадрування при обліку октет із при надсиланні повідомлень. Якщо цей параметр не використано, типовим є вимикання кадрування у 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.

    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
    Скористатися протоколом syslog BSD з для надсилання повідомлень на віддалений сервер.

--rfc5424[=аргумент]
    Скористатися протоколом syslog з для надсилання повідомлень на віддалений сервер. Необов’язковим аргументом аргумент можна скористатися для визначення списку відокремлених комами таких значень: notq, notime, nohost.

    Значення notq придушує структуровані дані щодо якості часу у надісланому повідомленні. Дані щодо якості часу показують, чи синхронізовано локальний годинник, і вказують на максимальне відхилення часової позначки. Якість часу також буде автоматично придушено, якщо вказано параметр --sd-id timeQuality.

    Значення notime (яке неявним чином встановлює notq) придушує повну часову позначку відправника у форматі ISO-8601, включно з мікросекундами і часовим поясом.

    Значення nohost придушує відомості gethostname(2) у заголовку повідомлення.

    Протокол RFC 5424 став типовим для logger, починаючи з версії 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 назва[@цифри]
    Вказує ідентифікатор елемента структурованих даних для заголовка повідомлення за RFC 5424. Параметр слід використовувати до вказаного --sd-param для впровадження нового елемента. Кількість елементів структурованих даних не обмежено. Ідентифікатор (назва плюс можливо @цифри) записують із врахуванням регістру символів і унікально ідентифікує тип і призначення елемента. У повідомленні не повинно бути більше за один той самий ідентифікатор. Частина @цифри є обов’язковою для визначених користувачем нестандартних ідентифікаторів.

    logger у поточній версії створює лише стандартизований елемент timeQuality. RFC 5424 також описує елементи origin (з параметрами ip, enterpriseId, software та swVersion) та meta (з параметрами sequenceId, sysUpTime і language). Ці ідентифікатори елементів може бути вказано без суфікса @цифри.

--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="голодний" zebra="біжить"][manager@123 onMeeting="yes"] це повідомлення

-S, --size розмір
    Встановити максимальний припустимий розмір повідомлення у значення розмір. Типовим розміром є 1 КіБ символів, тобто обмеження, яке традиційно використовують і яке вказано у RFC 3164. З появою RFC 5424 обмеження стало гнучким. Притомним припущенням є те, що отримувачі за стандартом RFC 5424 можуть обробляти повідомлення, розмір яких дорівнює принаймні 4 КіБ.

    Більшість отримувачів приймають повідомлення, розмір яких перевищує 1 КіБ, за будь-яким типом протоколу syslog. Отже, параметр --size стосується logger в усіх випадках (не лише, коли використано --rfc5424).

    Зауваження: обмеження розміру повідомлення стосується загального розміру повідомлення, включно із заголовком syslog. Розмір заголовка залежить від вибраних параметрів і довжини назви вузла. Як правило, довжина заголовка не перевищує значення від 50 до 80 символів. При виборі максимального розміру повідомлення важливо переконатися, що на боці отримувача також передбачено підтримку максимального розміру, інакше повідомлення може бути обрізано. Знову ж таки, як правило, розмір повідомлення від двох до чотирьох КіБ має бути задовільним, працездатність усіх інших більших розмірів слід перевіряти.

--socket-errors режим
    Виводити повідомлення про помилки щодо з’єднань із сокетом Unix. Значенням аргументу режим може бути один з таких рядків: on, off або 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 для даних щодо безпеки конфіденційного характеру
cron

daemon
ftp
kern не може бути створено з процесу простору користувача, автоматично перетворюється на user

lpr
mail
news
syslog
user
uucp
local0
to
local7
security застарілий синонім auth

Коректними назвами рівнів є такі:

emerg
alert
crit
err
warning
notice
info
debug
panic застарілий синонім emerg
error застарілий синонім err
warn застарілий синонім 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 роках, а пізніше переписано і

ТАКОЖ ПЕРЕГЛЯНЬТЕ

journalctl(1), syslog(3), systemd.journal-fields(7)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся

ДОСТУП ДО ПРОГРАМИ

Програма logger є частиною пакунка util-linux, який можна отримати з