Skip to content

Repository files navigation

cloudlog

GitHub tag (latest SemVer)GoDoc

Comments

If you have any feature requests, please feel free to create an issue. We're looking forward to communicate with you!

Summary

cloudlog provides structured loggging in Go.

We recommend to use cloudlog with GCP, support

format.

you can use logging features immediately when you only need default log config.

It uses zap internal.

Installation

$ go get -u github.com/ishihaya/cloudlog

Usage

You can define methods that you only use in Log interface.

logging methods list

package log
import (
"os""sync""github.com/ishihaya/cloudlog"
)
// You can define methods that you only use.typeLoginterface {
Debugf(templatestring, args...interface{})
Infof(templatestring, args...interface{})
Warnf(templatestring, args...interface{})
Errorf(templatestring, args...interface{})
Fatalf(templatestring, args...interface{})
Debugw(msgstring, keysAndValues...interface{})
Infow(msgstring, keysAndValues...interface{})
Warnw(msgstring, keysAndValues...interface{})
Errorw(msgstring, keysAndValues...interface{})
Fatalw(msgstring, keysAndValues...interface{})
}
typelogstruct {
*cloudlog.Logger
}
varsharedInstanceLogvaronce sync.Once// You should call this if you use logger.funcGetInstance() Log {
once.Do(func() {
sharedInstance=new()
})
returnsharedInstance
}
funcnew() Log {
varlogger*cloudlog.Loggervarerrerror// serviceName is displayed in Error Reporting.serviceName:="backend-api"switchos.Getenv("APP_ENV") {
// List runnning environments on cloud, such as GCP.case"production", "staging":
logger, err=cloudlog.NewCloudLogger(
cloudlog.NeedErrorReporting(true),
cloudlog.ServiceName(serviceName),
)
default:
logger, err=cloudlog.NewLocalLogger()
}
iferr!=nil {
panic(err)
}
return&log{logger}
}

About

cloudlog provides structured logging in Go / GCP.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages