rlog

package module
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2023 License: Apache-2.0 Imports: 6 Imported by: 3

README

rlog

PkgGoDev Go Report Card Github Actions

A minimal wrapper for logr.

Usage


package main

import (
	"errors"

	"github.com/go-logr/zapr"
	"github.com/rnrch/rlog"
	"go.uber.org/zap"
)

func main() {
	rlog.Info("hello", "default verbosity", rlog.GetVerbosity())
	rlog.Error(errors.New("error"), "error msg 1", "num", 1)

	rlog.V(2).Info("this is v2 info", "print", false)
	rlog.SetVerbosity(5)
	rlog.V(2).Info("this is v2 info again", "verbosity", rlog.GetVerbosity())
	rlog.V(7).Error(errors.New("error"), "error msg 2", "num", 2, "print", false)

	err := rlog.SwitchMode(rlog.Development)
	if err != nil {
		rlog.Error(err, "switch mode", "mode", rlog.Development)
	}
	logger := rlog.WithName("development").WithValues("foo", "bar")
	logger.Info("hello world", "verbosity", logger.GetVerbosity())

	logger, err = rlog.New(zapr.NewLogger(zap.NewExample()))
	if err != nil {
		rlog.Error(err, "create new logger")
	}
	logger = logger.WithName("example").WithValues("hello", "world").SetVerbosity(10)
	logger.V(7).Info("new logger")
}

The default logr implementation is zapr. You can use SetLogger to change it.

The default zapr mode is production mode. Use SwtichMode to change it.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Error

func Error(err error, msg string, kvPairs ...interface{})

Error logs an error, with the given message and key/value pairs as context.

func GetVerbosity added in v0.4.0

func GetVerbosity() int

SetVerbosity prints out the global verbosity

func Info

func Info(msg string, kvPairs ...interface{})

Info logs a non-error message with the given key/value pairs as context.

func SetLogger

func SetLogger(logr logr.Logger)

SetLogger sets the backing logr implementation for rlog.

func SetVerbosity

func SetVerbosity(v int)

SetVerbosity sets the global verbosity against which all logs will be compared.

func SwitchMode added in v0.4.0

func SwitchMode(mode Mode) error

SwitchMode changes the dafult zapr logger mode

func WithVerbosity added in v0.3.0

func WithVerbosity(v int) func(*options)

WithVerbosity sets Logger verbosity.

Types

type Logger

type Logger interface {
	Info(msg string, kvPairs ...interface{})
	Error(err error, msg string, kvPairs ...interface{})
	V(v int) Verbose
	WithValues(kvPairs ...interface{}) Logger
	WithName(name string) Logger
	SetLogger(logr logr.Logger)
	SetVerbosity(v int) Logger
	GetVerbosity() int
}

Logger represents implementation of rlog logger

func DefuaultLogger added in v0.4.2

func DefuaultLogger() Logger

func New added in v0.4.0

func New(logger logr.Logger, opts ...Options) (Logger, error)

New returns a new Logger

func WithName added in v0.4.0

func WithName(name string) Logger

func WithValues added in v0.4.0

func WithValues(kvPairs ...interface{}) Logger

type Mode added in v0.3.0

type Mode int

Mode is the mode of zapr loggers.

const (
	Production Mode = iota + 1
	Development
	Example
)

type Options added in v0.3.0

type Options func(*options)

Options configures how we set up the logger.

type Verbose

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

Verbose is a boolean type that implements logr and records weather it is enabled.

func V

func V(v int) Verbose

V returns a Verbose struct for a specific verbosity level, relative to this Logger.

func (Verbose) Error

func (v Verbose) Error(err error, msg string, kvPairs ...interface{})

Error logs an error, with the given message and key/value pairs as context when v is enabled.

func (Verbose) Info

func (v Verbose) Info(msg string, kvPairs ...interface{})

Info logs a non-error message with the given key/value pairs as context when v is enabled.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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