такую сигнатуру:
func myname1 (...) error {...}
Если там срабатывает ошибка, то она получается что прокидывает её наверх в вызывающую функцию (а та, возможно, ещё выше) до того места, пока всё это не попадёт в конечную функцию (например в main) где логируется возврат ошибки самой верхней вызывающей функции. В этом случае, не понятно, откуда именно пришла ошибки, т.к. мы получаем текст ошибки и номер строки ошибки в main.
Однако, если мы будем логировать ошибку в самой функции myname1 где она и происходит, то нафига нам вообще нужно эту ошибку прокидывать наверх? сделаем чтобы она не возвращала ошибку и всё.
если выкинул ошибку выше, то логировать не надо
Всё зависит от формата логгирования. Можно писать лог в корне, а возвращать оформленную подобающим образом ошибку из недр
под такие случаи существуют такие пакеты и функции: https://godoc.org/github.com/powerman/structlog#Logger.Err и логирует, и возвращает.
Обсуждают сегодня