logger

package module
v0.0.0-...-4b6f59a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 10 Imported by: 15

README

logger

Example of using gin-gonic/gin.

import (
	"net/http"

	"github.com/gin-gonic/gin"
	"github.com/itsubaki/logger"
	"github.com/itsubaki/tracer"
	"go.opentelemetry.io/otel"
)

var tr = otel.Tracer("mypackage/myfunc")

func Func(c *gin.Context) {
	traceID := c.GetString("trace_id")
	spanID := c.GetString("span_id")
	traceTrue := c.GetBool("trace_true")

	log := logger.New(c.Request, traceID, spanID)
	parent, err := tracer.Context(c.Request.Context(), traceID, spanID, traceTrue)
	if err != nil {
		log.ErrorReport("new context: %v", err)
		return
	}
	log.Info("new tracer context")

	func() {
		_, s := tr.Start(parent, "something to do")
		defer s.End()

		log.Span(s).Info("something to do")
	}()

	...
}

Documentation

Index

Constants

View Source
const (
	DEFAULT = iota
	DEBUG
	INFO
	NOTICE
	WARNING
	ERROR
	CRITICAL
	ALERT
	EMERGENCY
)

Variables

This section is empty.

Functions

func Default

func Default(v, w string) string

func Must

func Must(f func() error, err error) func() error

func MustSetup

func MustSetup(projectID, serviceName, revision string) func() error

func Setup

func Setup(projectID, serviceName, revision string) (func() error, error)

Types

type LogEntry

type LogEntry struct {
	Severity string    `json:"severity"`
	Message  string    `json:"message"`
	Time     time.Time `json:"time"`
	TraceID  string    `json:"logging.googleapis.com/trace"`
	SpanID   string    `json:"logging.googleapis.com/spanId,omitempty"`
}

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func New

func New(req *http.Request, traceID, spanID string) *Logger

func (*Logger) Debug

func (l *Logger) Debug(format string, a ...interface{})

func (*Logger) Error

func (l *Logger) Error(format string, a ...interface{})

func (*Logger) ErrorReport

func (l *Logger) ErrorReport(format string, a ...interface{})

func (*Logger) Info

func (l *Logger) Info(format string, a ...interface{})

func (*Logger) Log

func (l *Logger) Log(severity, format string, a ...interface{})

func (*Logger) Report

func (l *Logger) Report(a ...interface{})

func (*Logger) S

func (l *Logger) S(s trace.Span) *Logger

func (*Logger) Span

func (l *Logger) Span(s trace.Span) *Logger

func (*Logger) Warn

func (l *Logger) Warn(format string, a ...interface{})

type LoggerFactory

type LoggerFactory struct {
	// contains filtered or unexported fields
}

func NewLoggerFactory

func NewLoggerFactory(ctx context.Context, projectID, serviceName, revision string) (*LoggerFactory, error)

func (*LoggerFactory) Close

func (f *LoggerFactory) Close() error

func (*LoggerFactory) New

func (f *LoggerFactory) New(req *http.Request, traceID, spanID string) *Logger

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL