@kondratev-ad

Python logging, как включить поддержку русских букв?

Пишу логи с помощью logging.config в Python. Проблема в том, что я форматирую логи в JSON и если встречаются русские буквы, то он логирует вот так: {\\n \"errors\": [\\n \"\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\"\\n ]\\n}'
Никак не могу настроить, помогите
logging.ini
[loggers]
keys=root

[handlers]
keys=fileHandler

[formatters]
keys=json

[logger_root]
level=INFO
handlers=fileHandler

[handler_fileHandler]
class=FileHandler
level=INFO
formatter=json
args=('%(logfilename)s',)

[formatter_json]
class=pythonjsonlogger.jsonlogger.JsonFormatter
format=%(asctime)s - %(levelname)s - %(module)s - %(funcName)s - %(message)s
datefmt=%Y-%m-%d %H:%M:%S

В коде
logger = logging.getLogger(__name__)
logging.config.fileConfig(
    'logging.ini',
    defaults={'logfilename': 'test.log'},
    disable_existing_loggers=False
)
logger.warning(messange)

  • Вопрос задан
  • 1027 просмотров
Пригласить эксперта
Ответы на вопрос 2
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
json.loads(переменная/строка с json)
или 
json.load(файл)
Ответ написан
Vindicar
@Vindicar
RTFM!
В исходниках говорится, что у конструктора класса JsonFormatter есть соответствующий параметр.
Как его передать через конфиг, я фз.
Попробуй просто добавить json_ensure_ascii=False в секцию "formatter_json".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы