Skip to content

hyl0327/go-logrus-gcp-formatter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-logrus-gcp-formatter

GoDoc

Forked from joonix/log. Formatter for logrus, allowing log entries to be recognized by the fluentd Stackdriver agent on Google Cloud Platform.

Installation

go get github.com/hyl0327/go-logrus-gcp-formatter

Example (using Echo)

package main

import (
	"github.com/labstack/echo/v4"
	"github.com/labstack/echo/v4/middleware"
	log "github.com/sirupsen/logrus"
	gcplog "github.com/hyl0327/go-logrus-gcp-formatter"
)

func main() {
	log.SetFormatter(gcplog.NewFormatter())

	e := echo.New()

	e.Use(middleware.RequestLoggerWithConfig(middleware.RequestLoggerConfig{
		LogError:        true,
		LogStatus:       true,
		LogLatency:      true,
		LogResponseSize: true,
		LogValuesFunc: func(c echo.Context, v middleware.RequestLoggerValues) error {
			l := log.WithField("httpRequest", &gcplog.HTTPRequest{
				Request:      c.Request(),
				Status:       v.Status,
				Latency:      v.Latency,
				ResponseSize: v.ResponseSize,
			})

			if v.Error != nil {
				l.Error(v.Error)
			} else {
				l.Info()
			}

			return nil
		},
	}))

	// ...
}

About

GCP Formatter for Logrus in Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%