glog

package module
v0.0.0-...-8e145d5 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2020 License: MIT Imports: 9 Imported by: 21

README

glog

glog provides a simple logger for Go.

Build Go Report Card GoDoc License

Install

go get -u github.com/winterssy/glog

Usage

import "github.com/winterssy/glog"

Quick Start

package main

import "github.com/winterssy/glog"

func init() {
	glog.ReplaceGlobal(glog.New(os.Stderr, "", glog.LstdFlags, glog.Ldebug))
}

func main() {
	glog.Debug("hello world")
	// 2020-01-01 00:00:00,000 [DEBUG] hello world
}

License

MIT

Documentation

Index

Examples

Constants

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

Logging 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                                    // package file name element and line number: package/d.go:23. overrides Llongfile
	LUTC                                          // if Ldate or Ltime is set, use UTC rather than the local time zone
	Lmsgprefix                                    // move the "prefix" from the beginning of the line to before the message
	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 Info

func Info(v ...interface{})

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

Example
package main

import (
	"github.com/winterssy/glog"
)

func main() {
	glog.Info("hello world")
}

func Infof

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

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

Example
package main

import (
	"github.com/winterssy/glog"
)

func main() {
	glog.Infof("hello %s", "world")
}

func Output

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

Output writes the output for a logging event. The string msg 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. The level argument specifies the log message level. The calldepth argument specifies the count of the number of frames to skip when computing the file name and line number if Llongfile or Lshortfile is set.

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 ReplaceGlobal

func ReplaceGlobal(logger *Logger)

ReplaceGlobal replaces the global Logger.

Example
package main

import (
	"os"

	"github.com/winterssy/glog"
)

func main() {
	glog.ReplaceGlobal(glog.New(os.Stderr, "", glog.LstdFlags, glog.Ldebug))
}

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. The level argument defines the logging output level.

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) 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) Output

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

Output writes the output for a logging event. The string msg 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. The level argument specifies the log message level. The calldepth argument specifies the count of the number of frames to skip when computing the file name and line number if Llongfile or Lshortfile is set.

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) 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.

Jump to

Keyboard shortcuts

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