logger

package
v0.0.0-...-0dbb838 Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: GPL-3.0 Imports: 9 Imported by: 854

Documentation

Index

Constants

View Source
const (
	// DefaultFlags are passed to the default console log.Logger
	DefaultFlags = log.Ldate | log.Ltime | log.Lmicroseconds | log.Lshortfile
)

Variables

View Source
var NullLogger = nullLogger{}

NullLogger is a logger that does nothing

Functions

func BootSetup

func BootSetup() error

BootSetup creates a logger meant to be used when running from initramfs, where we want to consider the quiet kernel option.

func Debugf

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

Debugf records something in the debug log

func MockLogger

func MockLogger() (buf *bytes.Buffer, restore func())

MockLogger replaces the existing logger with a buffer and returns the log buffer and a restore function.

func NoGuardDebugf

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

NoGuardDebugf records something in the debug log

func Noticef

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

Noticef notifies the user of something

func Panicf

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

Panicf notifies the user and then panics

func SetLogger

func SetLogger(l Logger)

SetLogger sets the global logger to the given one

func SimpleSetup

func SimpleSetup() error

SimpleSetup creates the default (console) logger

func StartupStageTimestamp

func StartupStageTimestamp(stage string)

StartupStageTimestamp produce snap startup timings message.

func WithLoggerLock

func WithLoggerLock(f func())

WithLoggerLock invokes f with the global logger lock, useful for tests involving goroutines with MockLogger.

Types

type Log

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

func (*Log) Debug

func (l *Log) Debug(msg string)

Debug only prints if SNAPD_DEBUG is set

func (*Log) NoGuardDebug

func (l *Log) NoGuardDebug(msg string)

NoGuardDebug always prints the message, w/o gating it based on environment variables or other configurations.

func (*Log) Notice

func (l *Log) Notice(msg string)

Notice alerts the user about something, as well as putting in syslog

type Logger

type Logger interface {
	// Notice is for messages that the user should see
	Notice(msg string)
	// Debug is for messages that the user should be able to find if they're debugging something
	Debug(msg string)
	// NoGuardDebug is for messages that we always want to print (e.g., configurations
	// were checked by the caller, etc)
	NoGuardDebug(msg string)
}

A Logger is a fairly minimal logging tool.

func New

func New(w io.Writer, flag int) (Logger, error)

New creates a log.Logger using the given io.Writer and flag.

Jump to

Keyboard shortcuts

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