logging

package
v0.0.0-...-81aed03 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LoggingFlags = []cli.Flag{
	&cli.StringFlag{
		Name:        "logLevel",
		Category:    "logging",
		DefaultText: "info",
		EnvVars:     []string{"BOXER_LOG_LEVEL"},
		Action: func(context *cli.Context, s string) error {
			var lvl zerolog.Level
			switch strings.ToLower(s) {
			case "trace":
				lvl = zerolog.TraceLevel
				break
			case "debug":
				lvl = zerolog.DebugLevel
				break
			case "info":
				lvl = zerolog.InfoLevel
				break
			case "warn":
				lvl = zerolog.WarnLevel
				break
			case "error":
				lvl = zerolog.ErrorLevel
				break
			case "fatal":
				lvl = zerolog.FatalLevel
				break
			case "panic":
				lvl = zerolog.PanicLevel
				break
			default:
				return eh.Errorf("unhandled log level %s", s)
			}
			zerolog.SetGlobalLevel(lvl)
			return nil
		},
	},
	&cli.StringFlag{
		Name:        "logFormat",
		Category:    "logging",
		DefaultText: "json",
		EnvVars:     []string{"BOXER_LOG_FORMAT"},
		Action: func(context *cli.Context, s string) error {
			switch s {
			case "console":
				log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339})
				zerolog.InterfaceMarshalFunc = func(v any) ([]byte, error) {
					return json.MarshalIndent(v, "", "  ")
				}
				break
			case "diag":
				log.Logger = log.Output(NewCborDiagLogger(os.Stderr))
				break
			case "spew":
				log.Logger = log.Output(NewCborSpewLogger(os.Stderr))
				break
			case "json":
				log.Logger = log.Output(NewJsonIndentLogger(os.Stderr))
				break
			case "cbor":
				checkZeroLogCborBuild()
				log.Logger = log.Output(os.Stderr)
				break
			default:
				return eh.Errorf("unhandled log format %s", s)
			}
			return nil
		},
	},
}

Functions

func ConvertStringKeyedMaps

func ConvertStringKeyedMaps(val interface{}) interface{}

func SetupZeroLog

func SetupZeroLog()

Types

type CborDiagLogger

type CborDiagLogger struct {
	Out io.StringWriter
	// contains filtered or unexported fields
}

func NewCborDiagLogger

func NewCborDiagLogger(out io.StringWriter) *CborDiagLogger

func (*CborDiagLogger) Write

func (inst *CborDiagLogger) Write(p []byte) (n int, err error)

type CborSpewLogger

type CborSpewLogger struct {
	Out io.Writer
}

func NewCborSpewLogger

func NewCborSpewLogger(out io.Writer) *CborSpewLogger

func (*CborSpewLogger) Write

func (inst *CborSpewLogger) Write(p []byte) (n int, err error)

type JsonIndentLogger

type JsonIndentLogger struct {
	Out    io.Writer
	Prefix string
	Indent string
}

func NewJsonIndentLogger

func NewJsonIndentLogger(out io.Writer) *JsonIndentLogger

func (*JsonIndentLogger) Write

func (inst *JsonIndentLogger) Write(p []byte) (n int, err error)

Jump to

Keyboard shortcuts

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