Я запускаю службу rsyslog в контейнере Docker.
Его конфигурация (rsyslog.conf) выглядит следующим образом:
module(load = "imuxsock") # поддержка регистрации в локальной системе (например, с помощью команды logger)
module(load = "imudp") # Модуль поддержки прослушивателя UDP (load = "imtcp")
Модуль (нагрузка = "mmutf8fix")
Действие (тип = "mmutf8fix")
LOCAL1. * Action (type = "omfile" file = "/var/log/my.log")
Клиентская программа - это Java-программа, которая использует logback для записи журнала как в локальный файл, так и в удаленную службу rsyslog.
Локальный файл журнала выглядит как символы не ascii, кодировка которых - UTF-8.
Однако выходной файл rsyslog НЕ UTF-8. Конечно, символы не-ascii не могут быть показаны правильно.
Rs rsyslog git:(master) ✗ файл /volume/disk/logs/svt/my.log
/volume/disk/logs/svt/my.log: текст ASCII с очень длинными строками
Мне интересно, как настроить rsyslog для записи вывода в формате UTF-8, нет очевидного решения после поиска в Google.