Конечно не выведется, поэтому предложенные варианты решения мне и показались странными, ведь ни итемов, ни реквестов они не вернут
Читать полностью…тогда кури https://www.plutora.com/blog/observability-pillar-site-reliability-engineering до посинения
Читать полностью…Ну так если у меня где-то сдохнет скрапер, то оно пойдет в эррор и итем скорее всего вообще не выведется
Читать полностью…Я знаю, что не придёт, а даже если придёт, то дискорд попросту не примет файл такой величины
Читать полностью…Ну у меня и так логгируется то, что где-то что-то не нашлось, но меня больше интересует как можно было избежать ошибки, а не то, что поле не нашлось. Поэтому нужно скидывать весь джейсон.
Почему нет?
по хорошему такие штуки отлавливать любой системой анализа логов, плюс странно ты как-то парсер пишешь, ты его от балды чтоли пишешь, не поглядывая первые запуски на ошибки? Но в целом, цельный ELK городить - может как-то жирно быть на пару парсеров, но можно поискать что-то более мелкотравчатое.
ЗЫ про то, что ты задолбешься писать геттеры для своих вложенных полей, есть же либы где ты 1 разик слово get пишешь, туда же ты можешь присобачить и логгинг, я бы правда цельный файл JSON'а в дискорд бы не слал. Пример:
(бозенька, храни чатжопоте, за то, что он генерит примеры за полсекунды):
import loggingЧитать полностью…
import pydash
logging.basicConfig(level=logging.WARNING)
def safe_get(obj, path, default=None):
value = pydash.get(obj, path, default)
if value == default:
logging.warning(f"Missing path in JSON: {path}")
return value
data = {"parent_field": {"child_field": "value"}}
child = safe_get(data, "parent_field.child_field")
print(child)
missing = safe_get(data, "nonexistent_field.child_field")
print(missing)
мне желательно, чтобы оно само работало, а я только деньги за прокси платил и отдыхал на мальдивах
Читать полностью…ну вобщем ты или подробней распиши, или как я пока понял ты хочешь просто отсылки файлика на ошибке - это немного странный подход (обычно сначала собирают логи, анализируют их туда-сюда, а потом уже врезаются в исправление, если оно вообще нужно), но ты можешь наверное тот же логгер и так настроить, что кроме стектрейса он тебе будет на определенный чих слать и json
Читать полностью…тогда я не понимаю, в чем изначальный вопрос был, ты типа там SRE из себя изображаешь и хочешь превентировать ошибки или чего?
Читать полностью…тогда будет меньше дергача - нашло оно чото (или клиент) и сигнализироварует тебе, а ты уже смотришь логи и понимаешь что что-то померло в датском селении
Читать полностью…ну вдруг тебе там придет 500 гигабайт json'ов. Все это писать, проверять. Я бы шел от выходных данных, все ли поля выходные обязательные есть, адекватный ли размер выходных данных и айтемсов
Читать полностью…Если заворачивание в try except кода где нужно обработать исключения это говнокод - то хотя бы сделайте мидлварь
Читать полностью…у проекта есть потребности определенные, я ищу чем их закрывать.
Тут будто особо ничего кроме говнокода не остается