lv

package module
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2020 License: MIT Imports: 5 Imported by: 3

README

latest-tag go-test

go-lv

Package lv implements a simple logger with filtering level.

This package extends the standard package log and aimed to be minimal.

Usage

Using package-level logger:

import "github.com/progrhyme/go-lv"

func main() {
	name := "Bob"
	// lv.SetLevel(lv.LDebug) // for debug
	lv.Infof("Hello, %s!", name)
}

Creating a logger:

import (
	"log"

	"github.com/progrhyme/go-lv"
)

func main() {
	logger := lv.New(os.Stderr, lv.LWarn, log.LstdFlags)
	logger.Warn("Something is wrong!")
}

Documenatation

https://pkg.go.dev/github.com/progrhyme/go-lv

Limitation

No support for structured logging.

License

The MIT License.

Copyright (c) 2020 IKEDA Kiyoshi.

Documentation

Overview

Package lv implements a simple logger with filtering level.

This package extends the standard package log and aimed to be minimal.

Usage

Using package-level logger:

import "github.com/progrhyme/go-lv"

func main() {
    name := "Bob"
    // lv.SetLevel(lv.LDebug) // for debug
    lv.Infof("Hello, %s!", name)
}

Creating a logger:

import (
    "log"

    "github.com/progrhyme/go-lv"
)

func main() {
    logger := lv.New(os.Stderr, lv.LWarn, log.LstdFlags)
    logger.Warn("Something is wrong!")
}
Example
// Using package-level logger
name := "Bob"
// lv.SetLevel(lv.LDebug) // for debug
lv.Infof("Hello, %s!", name)

// Creating a logger
logger := lv.New(os.Stderr, lv.LWarn, log.LstdFlags)
logger.Warn("Something is wrong!")

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Configure

func Configure(out io.Writer, l Level, prop int)

Configure sets given properties for package-level logger.

Example
lv.Configure(os.Stderr, lv.LNotice, log.LstdFlags|log.Lshortfile)
lv.Noticef("Version is undefined")

func Critical added in v0.4.0

func Critical(v ...interface{})

Critical level logging using package-level logger.

func Criticalf added in v0.3.0

func Criticalf(format string, v ...interface{})

Criticalf is another critical level logging using package-level logger.

func Debug

func Debug(v ...interface{})

Debug level logging using package-level logger.

func Debugf

func Debugf(format string, v ...interface{})

Debugf is another debug level logging using package-level logger.

func Error

func Error(v ...interface{})

Error level logging using package-level logger.

func Errorf

func Errorf(format string, v ...interface{})

Errorf is another error level logging using package-level logger.

func Fatal added in v0.4.0

func Fatal(v ...interface{})

Fatal is equivalent to Print() followed by a call to os.Exit(1).

func Fatalf

func Fatalf(format string, v ...interface{})

Fatalf is equivalent to Printf() followed by a call to os.Exit(1).

func Info

func Info(v ...interface{})

Info level logging using package-level logger.

func Infof

func Infof(format string, v ...interface{})

Infof is another info level logging using package-level logger.

func Notice

func Notice(v ...interface{})

Notice level logging using package-level logger.

func Noticef

func Noticef(format string, v ...interface{})

Noticef is another notice level logging using package-level logger.

func Print added in v0.4.0

func Print(v ...interface{})

Print always prints given data like fmt.Print() with no prefix using package-level logger.

func Printf

func Printf(format string, v ...interface{})

Printf always prints given data like fmt.Printf() with no prefix using package-level logger.

func SetLevel

func SetLevel(l Level)

SetLevel sets filtering level for package-level logger.

func Trace

func Trace(v ...interface{})

Trace level logging using package-level logger.

func Tracef

func Tracef(format string, v ...interface{})

Tracef is another trace level logging using package-level logger.

func Warn added in v0.4.0

func Warn(v ...interface{})

Warn is warning level logging using package-level logger.

func Warnf

func Warnf(format string, v ...interface{})

Warnf is another warning level logging using package-level logger.

Types

type Granular added in v0.4.0

type Granular interface {
	Standard
	Trace(...interface{})
	Tracef(string, ...interface{})
	Notice(...interface{})
	Noticef(string, ...interface{})
	Critical(...interface{})
	Criticalf(string, ...interface{})
}

Granular defines interface of full leveled logger.

type Level

type Level int

Level represents filtering level. Logger will filter out log data when called with lower level functions

const (
	LTrace Level = iota + 1
	LDebug
	LInfo // Default level for package-level logger
	LNotice
	LWarn
	LError
	LCritical
)

func GetLevel

func GetLevel() Level

GetLevel returns filtering level of package-level logger.

func WordToLevel added in v0.2.0

func WordToLevel(word string) Level

WordToLevel returns Level by given word. Argument word is case-insensitive.

Examples:

lv.WordToLevel("trace")     //=> lv.LTrace
lv.WordToLevel("Info")      //=> lv.LInfo
lv.WordToLevel("WARN")      //=> lv.LWarn
lv.WordToLevel("undefined") //=> 0

func (Level) String

func (lv Level) String() string

String returns human-readable string of log level.

Examples:

LDebug.String()  //=> "DEBUG"
LNotice.String() //=> "NOTICE"

type Logger

type Logger struct {
	*log.Logger
	// contains filtered or unexported fields
}

Logger embeds standard log.Logger. Expanding it with filtering feature.

func New

func New(out io.Writer, l Level, prop int) *Logger

New creates a new Logger. The out variable sets the destination to which log data will be written. The prop argument defines the logging properties; it corresponds to 'flags' in 'log' package.

func (*Logger) Critical added in v0.4.0

func (self *Logger) Critical(v ...interface{})

Critical level logging.

func (*Logger) Criticalf added in v0.3.0

func (self *Logger) Criticalf(format string, v ...interface{})

Criticalf is another critical level logging with format.

func (*Logger) Debug added in v0.4.0

func (self *Logger) Debug(v ...interface{})

Debug level logging.

func (*Logger) Debugf

func (self *Logger) Debugf(format string, v ...interface{})

Debugf is another debug level logging with format.

func (*Logger) Error added in v0.4.0

func (self *Logger) Error(v ...interface{})

Error level logging.

func (*Logger) Errorf

func (self *Logger) Errorf(format string, v ...interface{})

Errorf is another error level logging with format.

func (*Logger) Fatal added in v0.4.0

func (self *Logger) Fatal(v ...interface{})

Fatal is equivalent to Print() followed by a call to os.Exit(1).

func (*Logger) Fatalf

func (self *Logger) Fatalf(format string, v ...interface{})

Fatalf is equivalent to Printf() followed by a call to os.Exit(1).

func (*Logger) GetLevel added in v0.4.0

func (self *Logger) GetLevel() (l Level)

GetLevel returns filtering level of self.

func (*Logger) Info added in v0.4.0

func (self *Logger) Info(v ...interface{})

Info level logging.

func (*Logger) Infof

func (self *Logger) Infof(format string, v ...interface{})

Infof is another info level logging with format.

func (*Logger) Notice added in v0.4.0

func (self *Logger) Notice(v ...interface{})

Notice level logging.

func (*Logger) Noticef

func (self *Logger) Noticef(format string, v ...interface{})

Noticef is another notice level logging with format.

func (*Logger) Print added in v0.4.0

func (self *Logger) Print(v ...interface{})

Print calls log.Logger.Output to print log. Arguments are handled in the manner of fmt.Print.

func (*Logger) Printf

func (self *Logger) Printf(format string, v ...interface{})

Printf calls log.Logger.Output to print log. Arguments are handled in the manner of fmt.Printf.

func (*Logger) SetLevel added in v0.4.0

func (self *Logger) SetLevel(l Level)

SetLevel sets filtering level to self.

func (*Logger) Trace added in v0.4.0

func (self *Logger) Trace(v ...interface{})

Trace level logging.

func (*Logger) Tracef

func (self *Logger) Tracef(format string, v ...interface{})

Tracef is another trace level logging with format.

func (*Logger) Warn added in v0.4.0

func (self *Logger) Warn(v ...interface{})

Warn is warning level logging.

func (*Logger) Warnf

func (self *Logger) Warnf(format string, v ...interface{})

Warnf is another warning level logging with format.

type Minimal added in v0.4.0

type Minimal interface {
	GetLevel() Level
	SetLevel(Level)
	Print(...interface{})
	Printf(string, ...interface{})
	Info(...interface{})
	Infof(string, ...interface{})
	Error(...interface{})
	Errorf(string, ...interface{})
	Fatal(...interface{})
	Fatalf(string, ...interface{})
}

Minimal defines interface of minimal leveled logger.

type Standard added in v0.4.0

type Standard interface {
	Minimal
	Debug(...interface{})
	Debugf(string, ...interface{})
	Warn(...interface{})
	Warnf(string, ...interface{})
}

Standard defines interface of standard leveled logger.

Jump to

Keyboard shortcuts

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