log

package module
Version: v0.0.0-...-01b5df5 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2019 License: BSD-3-Clause Imports: 10 Imported by: 21

README

log

GoDoc

简体中文

Installation

go get gitea.com/lunny/log

Features

  • Add color support for unix console
  • Implemented dbwriter to save log to database
  • Implemented FileWriter to save log to file by date or time.
  • Location configuration

Example

For Single File:

f, _ := os.Create("my.log")
log.Std.SetOutput(f)

For Multiple Writer:

f, _ := os.Create("my.log")
log.Std.SetOutput(io.MultiWriter(f, os.Stdout))

For log files by date or time:

w := log.NewFileWriter(log.FileOptions{
    ByType:log.ByDay,
    Dir:"./logs",
})
log.Std.SetOutput(w)

About

This repo is an extension of Golang log.

LICENSE

BSD License http://creativecommons.org/licenses/BSD/

Documentation

Index

Constants

View Source
const (
	// Bits 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).  A colon appears after these items:
	//	2009/0123 01:23:23.123123 /a/b/c/d.go:23: message
	Ldate         = 1 << iota     // the date: 2009/0123
	Ltime                         // the time: 01:23:23
	Lmicroseconds                 // microsecond resolution: 01:23:23.123123.  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
	Lmodule                       // module name
	Llevel                        // level: 0(Debug), 1(Info), 2(Warn), 3(Error), 4(Panic), 5(Fatal)
	Llongcolor                    // color will start [info] end of line
	Lshortcolor                   // color only include [info]
	LstdFlags     = Ldate | Ltime // initial values for the standard logger

)

These flags define which text to prefix to each log entry generated by the Logger.

View Source
const (
	Ldebug = iota
	Linfo
	Lwarn
	Lerror
	Lpanic
	Lfatal
	Lnone
)
View Source
const (
	ForeBlack  = iota + 30 //30
	ForeRed                //31
	ForeGreen              //32
	ForeYellow             //33
	ForeBlue               //34
	ForePurple             //35
	ForeCyan               //36
	ForeWhite              //37
)
View Source
const (
	BackBlack  = iota + 40 //40
	BackRed                //41
	BackGreen              //42
	BackYellow             //43
	BackBlue               //44
	BackPurple             //45
	BackCyan               //46
	BackWhite              //47
)
View Source
const (
	Lall = iota
)

Variables

View Source
var Std = New(os.Stderr, "", Ldefault())

Functions

func Debug

func Debug(v ...interface{})

func Debugf

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

func Error

func Error(v ...interface{})

func Errorf

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

func Fatal

func Fatal(v ...interface{})

Fatal is equivalent to Print() followed by a call to os.Exit(1).

func Fatalf

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

Fatalf is equivalent to Printf() followed by a call to os.Exit(1).

func Flags

func Flags() int

Flags returns the output flags for the standard logger.

func Info

func Info(v ...interface{})

func Infof

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

func Ldefault

func Ldefault() int

func Location

func Location() *time.Location

func OutputLevel

func OutputLevel() int

func Panic

func Panic(v ...interface{})

Panic is equivalent to Print() followed by a call to panic().

func Panicf

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

Panicf is equivalent to Printf() followed by a call to panic().

func Prefix

func Prefix() string

Prefix returns the output prefix for the standard logger.

func Print

func Print(v ...interface{})

Print calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Print.

func Printf

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

Printf calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Printf.

func Println

func Println(v ...interface{})

Println calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Println.

func RmColorFlags

func RmColorFlags(flag int) int

func SetColors

func SetColors(cls []int)

MUST called before all logs

func SetFileFormat

func SetFileFormat(t ByType, format string)

func SetFlags

func SetFlags(flag int)

SetFlags sets the output flags for the standard logger.

func SetLevels

func SetLevels(lvs []string)

MUST called before all logs

func SetLocation

func SetLocation(loc *time.Location)

func SetOutput

func SetOutput(w io.Writer)

SetOutput sets the output destination for the standard logger.

func SetOutputLevel

func SetOutputLevel(lvl int)

func SetPrefix

func SetPrefix(prefix string)

SetPrefix sets the output prefix for the standard logger.

func Stack

func Stack(v ...interface{})

func Version

func Version() string

func Warn

func Warn(v ...interface{})

func Warnf

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

Types

type ByType

type ByType int
const (
	ByDay ByType = iota
	ByHour
	ByMonth
)

func (ByType) Format

func (b ByType) Format() string

type DBWriter

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

func NewDBWriter

func NewDBWriter(db *sql.DB) (*DBWriter, error)

func (*DBWriter) Close

func (w *DBWriter) Close()

func (*DBWriter) Write

func (w *DBWriter) Write(p []byte) (n int, err error)

type FileOptions

type FileOptions struct {
	Dir    string
	ByType ByType
	Loc    *time.Location
}

type Files

type Files struct {
	FileOptions
	// contains filtered or unexported fields
}

func NewFileWriter

func NewFileWriter(opts ...FileOptions) *Files

func (*Files) Close

func (f *Files) Close()

func (*Files) Write

func (f *Files) Write(bs []byte) (int, error)

type Logger

type Logger struct {
	Level int
	// 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) *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{})

func (*Logger) Debugf

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

func (*Logger) Error

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

func (*Logger) Errorf

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

func (*Logger) Fatal

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

func (*Logger) Fatalf

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

Fatalf is equivalent to l.Printf() followed by a call to 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{})

func (*Logger) Infof

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

-----------------------------------------

func (*Logger) Location

func (l *Logger) Location() *time.Location

func (*Logger) Output

func (l *Logger) Output(reqId string, lvl int, calldepth int, s string) 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) OutputLevel

func (l *Logger) OutputLevel() int

func (*Logger) Panic

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

----------------------------------------- Panic is equivalent to l.Print() followed by a call to panic().

func (*Logger) Panicf

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

Panicf is equivalent to l.Printf() followed by a call to panic().

func (*Logger) Prefix

func (l *Logger) Prefix() string

Prefix returns the output prefix for the logger.

func (*Logger) Print

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

Print calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Print.

func (*Logger) Printf

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

Printf calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Printf.

func (*Logger) Println

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

Println calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Println.

func (*Logger) SetFlags

func (l *Logger) SetFlags(flag int)

SetFlags sets the output flags for the logger.

func (*Logger) SetLocation

func (l *Logger) SetLocation(loc *time.Location)

func (*Logger) SetOutput

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

func (*Logger) SetOutputLevel

func (l *Logger) SetOutputLevel(lvl int)

SetOutputLevel sets the output level for the logger.

func (*Logger) SetPrefix

func (l *Logger) SetPrefix(prefix string)

SetPrefix sets the output prefix for the logger.

func (*Logger) Stack

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

-----------------------------------------

func (*Logger) Stat

func (l *Logger) Stat() (stats []int64)

-----------------------------------------

func (*Logger) Warn

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

func (*Logger) Warnf

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

-----------------------------------------

Jump to

Keyboard shortcuts

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