Линуксовый логгинг

May 18, 2024 10:21


Мне триста лет, я выполз из тьмы.

Скажите мне, плз, как nowadays принято писать линуксовые сервисы в смысле logging? Как в старые времена, logging backend -> собственный конфиг -> файлики в /var/log, или stdout/stderr, префиксы <1>..<7> и journalctl разберётся?

linux, рабочее

Leave a comment

Comments 8

antony_mk May 18 2024, 08:23:54 UTC

Почему-то захотелось ответить этой фотографией

... )

Reply


jno2004 May 18 2024, 09:05:56 UTC

Оформляем в systemd unit, гадим в stderr, читаем journalctl. Но традиционно тоже можно.

Reply

tobotras May 18 2024, 10:39:39 UTC

zinal May 18 2024, 09:09:10 UTC
stderr, вестимо. Потом сервис в systemd, а дальше journald разберётся.
Большой плюс конструкции - работает без модификации примерно везде, что на "голом" Linux, что под Docker/Podman, что в K8s.
Ну и всякой ерундой типа своего уникального механизма ротации логов позволяет не заниматься.

Reply

tobotras May 18 2024, 10:38:28 UTC

А logging severity - циферками <3> с надеждой, что все всегда будут гонять сервис под systemd? А в докере или голом линуксе так и будут торчать некрасивенько?

Reply

zinal May 18 2024, 10:49:25 UTC

Те, кому нужны логи в культурном виде, настраивают поверх какой-нибудь logstash или fluentbit и специфичные для типа приложения парсеры.

Универсального набора уровней логирования, который одинаково бы поддерживался всеми приложениями, всё равно же ж не сложилось. crit/emerg/trace/debug/имяимлегион

Reply


dimas May 18 2024, 21:12:55 UTC

Кажется ты в тьму наоборот погружаешься ... или призываешь :)

Reply

tobotras May 18 2024, 21:25:45 UTC

Да нет, какая тьма. Наваял сервисов, надо было какой-то разумный логгинг приделать. Сделал по первому варианту.

Reply


Leave a comment

Up