Alexander
конечное
я бы логгировал сразу где случилось, а дальше - зависит от логики, если ошибку можно прпоустить и продолжить сценарий дальше, то выше можно игнорировать, если нет, то надо логгировать везде, где пробрасываем наверх
Daniel
мой опыт говорит мне, что понять, откуда именно пришли негодные параметры, без логирования на каждом уровне невозможно
Daniel
а негодные параметры - это примерно 70% всех ошибок
Anonymous
негодяи)
M
Как показывает практика логов много не бывает
Anonymous
Anonymous
а когда у тебя гигабайты логов в секунду?
V
тогда получится, что сервис А завязан не только на реализацию В, но и на его зависимость в виде С, что не очень хорошо
V
окей 🙂
Anonymous
тогда получится, что сервис А завязан не только на реализацию В, но и на его зависимость в виде С, что не очень хорошо
эт решается просто конструированием своих ошибок в сервисе B, а не прокидыванием ошибки с сервиса С
V
о чем я и говорил выше, спасибо
M
а когда у тебя гигабайты логов в секунду?
Разумный подход тоже никто не отменял. лично я делаю обычно несколько логов в приложении, если нужно. И отдельно дебажный лог. который включается отдельной настройкой. лучше всего на лету, мониторингом конфига. Вот туда вся помойка и валится.
M
когда все устаканивается то он обычно не нужен
Anonymous
о чем я и говорил выше, спасибо
я видимо на тот момент это не понял, потому что даже сейчас мне это кажется каким-то гемором.
Andrew
#вакансия Привет, мы в компанию Mad Devs(https://maddevs.io) ищем много гоферов Требования - Опыт работы бекенд программистом 5+ лет - Уметь и любить писать тесты - Понимание юнит, интеграционных, е2е тестов - Знание как пользоваться pprof, tracer, как можно оптимизировать код на максимальный перформанс - Опыт разработки распределенных систем (3+ лет), распределенные системы должны быть в крови - Уметь CI/CD (Jenkins, TeamCity, GoCD, Concourse…) - Уметь Docker - Дружить с конкурентным/асинхронным/параллельным программированием - Знание SQL на очень хорошем уровне - Опыт с Postgresql 2+ лет - Опыт в виртуализации/контейнеризации - Опыт на С будет огромным плюсом ЗП: $20-35 в час Резюме отправлять на rock@maddevs.io
V
начните с тестов на функцию, прежде чем писать ее реализацию, тогда вы поймете какие ошибки хотите ждать от функции
V
поэтому вам и кажутся «гемором» ошибки для конкретной функции
Anonymous
поэтому вам и кажутся «гемором» ошибки для конкретной функции
мой вопрос про логику логгирования, а не про тестирование.
V
логируется каждая ошибка, т.к. ошибки разные, то получается что на каждом уровне логируется своя ошибка, чтобы понять для чего разные ошибки на разных уровнях нужно начать писать тесты и разделять зависимости
Anonymous
Не понял фразу "понять для чего разные ошибки на разных уровнях"
Anonymous
Здравствуйте. Пытаюсь собрать provisioner для Kubernetes. Версия Go - 1.10. По каким-то причинам provisioner не собирается. Лог компиляции: https://pastebin.com/JPeFitLS
Anonymous
Сам provisioner: https://github.com/kubernetes-incubator/external-storage/tree/master/local-volume/provisioner
Anonymous
Сборку запускаю через make
Anonymous
Сборка в makefile запускается командой CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o local-volume-provisioner ./cmd
arkady
Ребята, могу сюда вбросить свой пет проект? Хотелось бы узнать проблемные места в коде и ошибки архитектуры(если такое имеется)
Илья
мой вопрос про логику логгирования, а не про тестирование.
https://godoc.org/go.uber.org/multierr я бы смотрел сюда, или в pkg/errors, там и трейсы могут быть и агрегация
arkady
можешь
https://github.com/arkadybag/go-hub - тут описание проекта в кратце https://github.com/arkadybag/go-phantomjs-node - это масштабируемая нода(из описания у хаба будет понятно)
arkady
https://github.com/arkadybag/go-hub - тут описание проекта в кратце https://github.com/arkadybag/go-phantomjs-node - это масштабируемая нода(из описания у хаба будет понятно)
большая просьба, если кто-то будет смотреть - давайте обратную связь п ожалуйста, это первый проект на GO, который я начал делать
.
Ребят, кто может подсказать Есть адрес для апи example.com на порте 80 Если не указывать порт, то нет доступа, если указать, работает Почему так?
arkady
80
покажи код
.
А код тут при чем?
arkady
откуда нам знать, про что ты говоришь
.
У сервера указываю Addr: ':80'
.
И все
arkady
понятно
arkady
И все
2018/08/09 14:56:17 ListenAndServe: listen tcp: address 127.0.0.1: missing port in address
arkady
нет там порта поумолчанию, без него откуда функции знать, какой порт у тебя дефолтный?!
.
Я пожалуй подожду ответ человека, разбирающегося в этом вопросе
arkady
тогда сформулируй нормально вопрос
arkady
у тебя IP или доменное имя?
.
Есть адрес -, допустим example.com за которым стоит сервак, который крутится на порте 80 Если указывать порт, example.com:80, есть доступ к серверу, если не указывать - нет доступа, не коннектится в принципе
.
Прочитай то что я написал еще раз, если ты плохо понял
Viktor
как грубо
.
example.com:80 - вот, порт указан
L
С браузера, боже
и как можно было догодатсья об этом????
L
большая
.
В чем?
L
постучи курлом
arkady
В чем?
нужно быть вежливым, когда хочешь узнать какой-то ответ, это нужно тебе, а не другим.
Илья
Пожалуйста, не отвечай на мои вопросы
пожалуйста, не задавайте свои вопросы
Viktor
Пожалуйста, не отвечай на мои вопросы
читаю твои сообщения и ощущение, будто читаю чат в доте
Aleksandr
замьютил на сутки
Aleksandr
чтобы не отвечали на его вопросы
Илья
Ребят, мб кто сможешь бегло посмотреть ?
1. хендлеры стоит положить в хендлеры 2. да и вообще в main.go оставить минимум кода, только запуск приложения и обработку сигналов
Илья
Ребят, мб кто сможешь бегло посмотреть ?
странно, что сущность hub лежит в utils, да и вообще за utils в go не лучшее название
Oleg
https://github.com/arkadybag/go-hub - тут описание проекта в кратце https://github.com/arkadybag/go-phantomjs-node - это масштабируемая нода(из описания у хаба будет понятно)
phantomjs не нужен. Это старая необновляемая хрень. Ее последний релиз состоялся January 23, 2016. Используй headless chrome
arkady
phantomjs не нужен. Это старая необновляемая хрень. Ее последний релиз состоялся January 23, 2016. Используй headless chrome
да, знаю про chrome handless, да и там особо без проблем переделать, суть в другом
arkady
фантом полегче будет
Илья
Ребят, мб кто сможешь бегло посмотреть ?
3. как-то не конфигурабельно все, порты там и все внутренности, стоит унести в конфиг 4. вместо run.sh лучше собрать makefile, заодно разберетесь с ним :) знанеие полечно
Oleg
фантом полегче будет
Я оцениваю с точки зрения продукта. Никому не нужен старый глючный webkit трехлетней давности.
Илья
как конфиги хранить лучше?
я бы смотрел в сторону viper какого-нибудь, чтобы можно было и из ENV и из флагов зацепить, или файл подсунуть + default проставить