Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

logger и русский язык

Автор Exchie, 12 июня 2022, 14:57:20

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Exchie

Добрый день!
ОС: Slackware Current
Отдельно выделен лог /var/log/xsession.log для local7.* записей.
Всё работает, за исключением русских букв:
Jun 12 01:13:42 chedder last message buffered 3 times
Jun 12 01:13:42 chedder chedder: weather-Message: 13:22:48.079: пол�M-^C�M-^Gение https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=57.839400&lon=28.333800&altitude=47
Jun 12 01:13:42 chedder chedder: weather-Message: 14:22:48.075: пол�M-^C�M-^Gение https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=57.839400&lon=28.333800&altitude=47

Пробую из командной строки:
$ logger -p local7.info "Русский Текст"
в логе:
Jun 12 01:13:42 chedder chedder: weather-Message: 13:22:48.079: пол�M-^C�M-^Gение https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=57.839400&lon=28.333800&altitude=47
Jun 12 01:13:42 chedder chedder: weather-Message: 14:22:48.075: пол�M-^C�M-^Gение https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=57.839400&lon=28.333800&altitude=47
Jun 12 14:51:30 chedder chedder: Р�M-^C�M-^A�M-^Aкий Тек�M-^A�M-^B

Локаль:
$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE=C
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=


Как сделать так, чтобы в логах русские буквы отображались нормально?

Exchie

Сам себе отвечу.
Есть два варианта.
Первый.
В Slackware -current установлен sysklogd 2.3.0. Нужно поправить исходный код: в файле src/syslogd.c есть такая строчка:
static int   mask_C1 = 1;   /* mask characters from 0x80 - 0x9F */
меняем на 0 и компилим. Всё работает :)
Второй.
Качаем версию 2.4.0, компилим, ставим. В новой версии учли этот косяк, но фичу ещё надо активировать: запускаем syslogd с опцией -8. Тогда все работает! :biggrin_mini:

Graf