Можешь записаться на бесплатный курс по стандартным пакетам log, zap и logrus на courser’е. Там тебе точно должны всё подробно рассказать и объяснить.
На хабре есть статься, связанная как раз с zap. Она называется - Blazing fast, structured, leveled logging in Go. Можешь прочекать. Только инфа на английском.
Вот тебе примеры использования zap’а:
Пример 1:
func (s *Store) WithLogger(log zap.Logger) {
s.baseLogger = log
s.Logger = log.With(zap.String("service", "store"))
for _, sh := range s.shards {
sh.WithLogger(s.baseLogger)
}
}
Пример 2:
func (l *WAL) WithLogger(log zap.Logger) {
l.logger = log.With(zap.String("service", "wal"))
if l.traceLogging {
l.traceLogger = l.logger
}
}