Поскольку сообщения журнала нигде не появляются в журнале , я подозреваю, что у вас не настроена переадресация системного журнала в журнал , и сообщения просто удаляются. Так как вы находитесь на Arch, это легко исправить. Убедитесь, что syslog-ng
пакет установлен:
pacman -S syslog-ng
Затем убедитесь, что он включен при загрузке:
systemctl enable syslog-ng
Наконец, поскольку активирующие сервисы не запускают их автоматически, запустите сервис:
systemctl start syslog-ng
Смотрите эту страницу Arch Wiki для деталей.
Вот некоторые сведения о том, почему возникает эта проблема:
Существует определенный способ входа в классический системный журнал, и есть определенный способ входа в новый системный журнал. Это несовместимо; приложения, поддерживающие системный журнал, не могут быть волшебным образом созданы для поддержки журнала - автор должен явно реализовать эту функцию. Приложения, поддерживающие журнал systemd, обычно называются «родными API» при работе в системе systemd.
Поскольку API syslog и API journald различны, приложения, которые не поддерживают API journald, просто удаляют свои сообщения журнала. Это то, что происходило в вашем случае.
Работа syslog-ng
пакета заключается в преобразовании вызовов API syslog в вызовы API journald. Таким образом, сообщения системного журнала в конечном итоге попадают в журнал.
syslog-ng
был установлен, но не включен, я предполагал, что journald полностью его заменил. Можетlogger
ли общаться только системный журнал? Каков правильный способ входа в журнал в то время?syslog-ng
пересылает сообщения, адресованные системному журналу, в journald.logger foobar;journalctl|grep foobar
в вашей системе список записей?Некоторые демоны не записывали логи
/var/log/
в Arch Linux, и конфигурация дляsyslog-ng
них отличается от других ответов, которые я видел.Обычного
syslog-ng.service
сервиса там нет, на самом деле он называетсяsyslog-ng@default.service
.Это не сработает:
Я должен сделать это немного по-другому в Arch Wiki :
источник