go-cloudlogzap implements a custom zapcore
to hook log message from a zap.Logger
to Anexia's CloudLog.
The primary motivation for go-cloudlogzap is the need to send log output from go.uber.org/zap
's logger to ANEXIA's CloudLog infrastructure.
go get -u github.com/anexia-it/go-cloudlogzap
Use zap's zapcore.NewTee
func to tee any log message to multiple zapcores. Use logger.WithOptions
to create a new logger from the multi-core.
opts := []cloudlog.Option{...}
multiCore, err := zap.WrapCore(func(core zapcore.Core) zapcore.Core {
cloudlogCore, err := NewCloudlogCore(core, indexName, opts)
if err != nil {
return core
}
return zapcore.NewTee(core, cloudlogCore)
})
logger = logger.WithOptions(multiCore)
Important:
To create a functional cloudlog core, pass the following cloudlog.Option
slice to the core initialization:
cloudlog.OptionCACertificateFile
cloudlog.OptionClientCertificateFile
Issues in go-cloudlogzap are tracked using the corresponding Github issue tracker.
The current release is v1.0.0 Changes to go-cloudlogzap are subject to semantic versioning. The ChangeLog provides information on releases and changes.
go-cloudlogzap is licensed under the terms of the MIT license.