Я пытаюсь вывести некоторые Unicode в журнал с:
logger:debug("~ts", [<<"Тест"/utf8>>]).
и получить в журнале следующее:
DEFAULT FORMATTER CRASHEDDEFAULT FORMATTER CRASHEDDEFAULT FORMATTER....
Однако, если вместо этого я использую ~s
в качестве строки формата, она не вылетает, а выводит версию, не поддерживающую Юникод:
debug: ТеÑ<U+0081>Ñ<U+0082>
Есть идеи? Кажется, я не могу понять, что я делаю неправильно.
Окружающая среда
Erlang/OTP 21 [erts-10.0.5] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Конфигурация логгера от sys.config
:
{kernel, [
{logger, [
{handler, default, logger_std_h,
#{level => debug,
formatter => {logger_formatter, #{single_line => true}},
config => #{type => {file, "log/main.log"}}}},
{handler, errors, logger_std_h,
#{level => error,
formatter => {logger_formatter, #{single_line => false}},
config => #{type => {file, "log/errors.log"}}}}
]},
{logger_level, debug}
]}