slog

package module
v0.0.0-...-a653ec7 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2020 License: MIT Imports: 6 Imported by: 0

README

slog

A simple logger for Go, to replace the log standard library.

Test Go Report Card GoDoc License

Install

go get -u github.com/winterssy/slog

Usage

import "github.com/winterssy/slog"

Quick Start

package main

import "github.com/winterssy/slog"

func main() {
	slog.SetLevel(slog.Ldebug)
	slog.Debug("hello world")
	slog.Info("hello world")
	slog.Warn("hello world")
	slog.Error("hello world")
}

License

MIT

Documentation

Index

Constants

View Source
const (
	Ldebug = iota
	Linfo
	Lwarn
	Lerror
	Lpanic
	Lfatal
)

Log output level.

View Source
const (
	Ldate         = 1 << iota                     // the date in the local time zone: 2009/01/23
	Ltime                                         // the time in the local time zone: 01:23:23
	Lmilliseconds                                 // millisecond resolution: 01:23:23,123. assumes Ltime.
	Llongfile                                     // full file name and line number: /a/b/c/d.go:23
	Lshortfile                                    // final file name element and line number: d.go:23. overrides Llongfile
	LUTC                                          // if Ldate or Ltime is set, use UTC rather than the local time zone
	LstdFlags     = Ldate | Ltime | Lmilliseconds // initial values for the standard logger
)

These flags define which text to prefix to each log entry generated by the Logger. Bits are or'ed together to control what's printed. There is no control over the order they appear (the order listed here) or the format they present (as described in the comments). The prefix is followed by a colon only when Llongfile or Lshortfile is specified. For example, flags Ldate | Ltime (or LstdFlags) produce,

2009-01-23 01:23:23 [level] message

while flags Ldate | Ltime | Lmilliseconds | Llongfile produce,

2009-01-23 01:23:23,123 [level] /a/b/c/d.go:23: message

Variables

This section is empty.

Functions

func Debug

func Debug(v ...interface{})

Debug uses fmt.Sprintln to construct and log a message.

func Debugf

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

Debugf uses fmt.Sprintf to construct and log a message.

func Error

func Error(v ...interface{})

Error uses fmt.Sprintln to construct and log a message.

func Errorf

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

Errorf uses fmt.Sprintf to construct and log a message.

func Fatal

func Fatal(v ...interface{})

Fatal uses fmt.Sprintln to construct and log a message, then calls os.Exit(1).

func Fatalf

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

Fatalf uses fmt.Sprintf to construct and log a message, then calls os.Exit(1).

func Flags

func Flags() int

Flags returns the output flags for the standard logger.

func Info

func Info(v ...interface{})

Info uses fmt.Sprintln to construct and log a message.

func Infof

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

Infof uses fmt.Sprintf to construct and log a message.

func Level

func Level() int

Level returns the output level for the standard logger.

func Output

func Output(calldepth int, s string, level int) error

Output writes the output for a logging event. The string s contains the text to print after the prefix specified by the flags of the Logger. A newline is appended if the last character of s is not already a newline. Calldepth is the count of the number of frames to skip when computing the file name and line number if Llongfile or Lshortfile is set; a value of 1 will print the details for the caller of Output.

func Panic

func Panic(v ...interface{})

Panic uses fmt.Sprintln to construct and log a message, then panics.

func Panicf

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

Panicf uses fmt.Sprintf to construct and log a message, then panics.

func Prefix

func Prefix() string

Prefix returns the output prefix for the standard logger.

func SetFlags

func SetFlags(flag int)

SetFlags sets the output flags for the standard logger.

func SetLevel

func SetLevel(level int)

SetLevel sets the output level for the standard logger.

func SetOutput

func SetOutput(w io.Writer)

SetOutput sets the output destination for the standard logger.

func SetPrefix

func SetPrefix(prefix string)

SetPrefix sets the output prefix for the standard logger.

func Warn

func Warn(v ...interface{})

Warn uses fmt.Sprintln to construct and log a message.

func Warnf

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

Warnf uses fmt.Sprintf to construct and log a message.

Types

type Logger

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

A Logger represents an active logging object that generates lines of output to an io.Writer. Each logging operation makes a single call to the Writer's Write method. A Logger can be used simultaneously from multiple goroutines; it guarantees to serialize access to the Writer.

func New

func New(out io.Writer, prefix string, flag int, level int) *Logger

New creates a new Logger. The out variable sets the destination to which log data will be written. The prefix appears at the beginning of each generated log line. The flag argument defines the logging properties.

func (*Logger) Debug

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

Debug uses fmt.Sprintln to construct and log a message.

func (*Logger) Debugf

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

Debugf uses fmt.Sprintf to construct and log a message.

func (*Logger) Error

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

Error uses fmt.Sprintln to construct and log a message.

func (*Logger) Errorf

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

Errorf uses fmt.Sprintf to construct and log a message.

func (*Logger) Fatal

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

Fatal uses fmt.Sprintln to construct and log a message, then calls os.Exit(1).

func (*Logger) Fatalf

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

Fatalf uses fmt.Sprintf to construct and log a message, then calls os.Exit(1).

func (*Logger) Flags

func (l *Logger) Flags() int

Flags returns the output flags for the logger.

func (*Logger) Info

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

Info uses fmt.Sprintln to construct and log a message.

func (*Logger) Infof

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

Infof uses fmt.Sprintf to construct and log a message.

func (*Logger) Level

func (l *Logger) Level() int

Level returns the output level for the logger.

func (*Logger) Output

func (l *Logger) Output(calldepth int, s string, level int) error

Output writes the output for a logging event. The string s contains the text to print after the prefix specified by the flags of the Logger. A newline is appended if the last character of s is not already a newline. Calldepth is used to recover the PC and is provided for generality, although at the moment on all pre-defined paths it will be 2.

func (*Logger) Panic

func (l *Logger) Panic(v ...interface{})

Panic uses fmt.Sprintln to construct and log a message, then panics.

func (*Logger) Panicf

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

Panicf uses fmt.Sprintf to construct and log a message, then panics.

func (*Logger) Prefix

func (l *Logger) Prefix() string

Prefix returns the output prefix for the logger.

func (*Logger) SetFlags

func (l *Logger) SetFlags(flag int)

SetFlags sets the output flags for the logger.

func (*Logger) SetLevel

func (l *Logger) SetLevel(level int)

SetLevel sets the output level for the logger.

func (*Logger) SetOutput

func (l *Logger) SetOutput(w io.Writer)

SetOutput sets the output destination for the logger.

func (*Logger) SetPrefix

func (l *Logger) SetPrefix(prefix string)

SetPrefix sets the output prefix for the logger.

func (*Logger) Warn

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

Warn uses fmt.Sprintln to construct and log a message.

func (*Logger) Warnf

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

Warnf uses fmt.Sprintf to construct and log a message.

func (*Logger) Writer

func (l *Logger) Writer() io.Writer

Writer returns the output destination for the logger.

Jump to

Keyboard shortcuts

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