-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logging f-string #12
Comments
В стандарном модуле logging на "бекенде" логгера происходит именно вставка переданных значений в строку. В polog обработчик — это функция, которая может делать по сути что угодно, совсем не обязательно преобразуя лог в человекочитаемую строку. Вместо этого лог может быть преобразован в формат json или сериализован как-то иначе. Поэтому я не стал добавлять поведение с форматированием лога как строки по умолчанию. Я считаю полезным семантически разделить сообщение лога и дополнительные данные. В текущей версии polog в файловом обработчике дополнительные данные не вставляются автоматически в строку с сообщением, но добавляются как бы "сбоку" через символ "|". Возможно, в будущей версии я добавлю похожее на logging поведение как дополнительную опцию. |
Речь не о polog. logging не производит интерполяцию строк для # BAD EXAMPLE
logging.info(f"begin of operations with {arg_1} and {arg_2}") # GOOD EXAMPLE
logging.info("begin of operations with %s and %s", arg_1, arg_2) |
А вы можете предоставить пример теста, который бы показал, что предложенный вами способ работает быстрее? |
timeit в помощь :) |
Объяснение просто крутейшее. "ТУТ МЕДЛЕННО!", не указав где именно. В пайтоне медленно всё, не вижу смысла изобретать велосипед. |
Я предложил как сделать эффективнее. Есть cookbook от python, есть PEP282, которые показывает как правильно работать с logging. |
В примерах с logging не надо использовать f-строки, они забирают ресурсы на интерполяцию строк, которые могут не пригодиться при определённых уровнях логирования
The text was updated successfully, but these errors were encountered: