Skip to content

uschen/zapcloudwatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zapcloudwatch

High performance (buffered) zap Core for CloudWatch Log.

GoDoc

Installation

go get -u github.com/uschen/zapstackdriver

Quick Start

logGroup := "YOUR-LOG-GROUP"
logStream := "YOUR-LOG-STREAM"

core, err := zapcloudwatch.NewCore(
  zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig()),
  logGroup,
  logStream,
  zap.InfoLevel,
  zapcloudwatch.WithOnError(func(err error) {
    fmt.Printf("got error: %s", err)
  }),
)
if err != nil {
  panic(err)
}

logger := zap.New(core)
logger.Info("test message", zap.String("string_field", "string value"), zap.Int64("int64_field", 123))
logger.Sync() // flushes the logs to CloudWatch Log

l2 := logger.With(zap.String("sub_logger", "logger2"))
l2.Info("sub logger message", zap.Any("struct_value", struct {
  A string
  B string
}{
  A: "value a",
  B: "value b",
}))

// flush
if err := core.Close(); err != nil {
  panic(err)
}

Contributing


Released under the BSD 3-Clause License.