logger

package
v0.0.0-...-1f1ffe3 Latest Latest
Warning

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

Go to latest
Published: May 31, 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(opts *LoggerOptions) 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, opts *LoggerOptions) (Logger, error)

New creates a log.Logger using the given io.Writer and flag, using the options from opts.

type LoggerOptions

type LoggerOptions struct {
	// ForceDebug can be set if we want debug traces even if not directly
	// enabled by environment or kernel command line.
	ForceDebug bool
}

Jump to

Keyboard shortcuts

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