logger

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package logger provides a lightweight logger for the vab command

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DisabledLogWriter

type DisabledLogWriter struct{}

The DisabledLogWriter implement the LogWriterInterface but all the functions are noop

func (DisabledLogWriter) Write

func (logger DisabledLogWriter) Write(message string)

Info meets the LogWriterInterface interface but does nothing

func (DisabledLogWriter) Writef

func (logger DisabledLogWriter) Writef(message string, args ...interface{})

Writef meets the LogWriterInterface interface but does nothing

type DisabledLogger

type DisabledLogger struct{}

The DisabledLogger implement the LogInterface but all the functions are noop

func (DisabledLogger) SetLogLevel

func (logger DisabledLogger) SetLogLevel(logLevel LogLevel)

SetLogLevel meets the Logger interface but does nothing

func (DisabledLogger) V

func (logger DisabledLogger) V(level LogLevel) LogWriterInterface

V meets the Logger interface but does nothing

func (DisabledLogger) Warn

func (logger DisabledLogger) Warn() LogWriterInterface

Warn meets the LogInterface interface but does nothing

type LogInterface

type LogInterface interface {
	// Warn should be used to return a LogWriterInterface that can always write to the user,
	// it may use the stdErr stream
	Warn() LogWriterInterface

	// V() returns an LogWriterInterface for a given verbosity LogLevel
	//
	// Normal verbosity levels:
	// V(0): normal user facing messages go to V(0)
	// V(1): debug messages start when V(N > 0), these should be high level
	// V(2+): trace level logging, in increasing "noisiness"
	//
	// It is expected that the returned LogWriterInterface will implement a near to noop
	// function for LogLevel major than the enabled one
	V(LogLevel) LogWriterInterface

	// Change the LogLevel set for the logger to the new logLevel
	SetLogLevel(logLevel LogLevel)
}

LogInterface is a simple interface that must be adopted by a logger

type LogLevel

type LogLevel uint8

The noisiness level of the logger, we recommend to not use a level greater than 10 because already 10 level of diverse logs are silly, using all 255 available can be too much

type LogStreams

type LogStreams struct {
	OutStream io.Writer
	ErrStream io.Writer
}

The streams used by the logger for writing messages

func DefaultStreams

func DefaultStreams() LogStreams

DefaultStreams for writing log messages

type LogWriter

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

func (LogWriter) Write

func (l LogWriter) Write(message string)

func (LogWriter) Writef

func (l LogWriter) Writef(format string, args ...interface{})

type LogWriterInterface

type LogWriterInterface interface {
	// Write is used to write a user facing status message
	Write(message string)
	// Writef is used to write a Printf style user facing status message
	Writef(format string, args ...interface{})
}

LogWriterInterface defines a logger interface for wrinting messages

type Logger

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

A logger that writes messages on different writers

func NewLogger

func NewLogger(streams LogStreams) *Logger

Return a new logger with the verbosity LogLevel that will write on the writer and that will use the stdErr writer for the warn messages if useStdErr is set to true

func (*Logger) SetLogLevel

func (l *Logger) SetLogLevel(logLevel LogLevel)

func (*Logger) V

func (l *Logger) V(logLevel LogLevel) LogWriterInterface

func (*Logger) Warn

func (l *Logger) Warn() LogWriterInterface

Jump to

Keyboard shortcuts

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