I am writing an application in Go that uses a Logger object type.
In it I use another application that uses the same logger object type:
App1:
import "gitlab.sio.com/go/zlog"
var logger = zlog.New(append(opts,
zlog.App(c.Name, typ, version),
zlog.Env(c.Environment),
)...)
....
router.GET("/get", GetHandler(logger))
....
func GetHandler(logger *zlog.Logger){
....
mdl, _ := security.New(*logger)
....
}
App2(security.New from security lib):
package security
import "gitlab.sio.com/go/zlog"
Middleware struct {
log zlog.Logger
}
func New(log zlog.Logger){
...
mdw := Middleware{}
mdw.log = log
}
The error what I'm getting at line
mdl, _ := security.New(*logger)
is:
cannot use *logger (type "gitlab.sio.com/go/furtif/vendor/gitlab.sio.com/go/zlog".Logger) as type "gitlab.sio.com/go/security/vendor/gitlab.sio.com/go/zlog".Logger in argument to security.New
.../furtif/vendor..., the other from.../security/vendor/.... Fix your vendoring.