gf: github.com/gogf/gf/os/glog Index | Files

package glog

import "github.com/gogf/gf/os/glog"

Package glog implements powerful and easy-to-use levelled logging functionality.

Index

Package Files

glog.go glog_api.go glog_chaining.go glog_config.go glog_instance.go glog_logger.go glog_logger_api.go glog_logger_chaining.go glog_logger_config.go glog_logger_level.go glog_logger_rotate.go glog_logger_writer.go

Constants

const (
    F_ASYNC      = 1 << iota // Print logging content asynchronously。
    F_FILE_LONG              // Print full file name and line number: /a/b/c/d.go:23.
    F_FILE_SHORT             // Print final file name element and line number: d.go:23. overrides F_FILE_LONG.
    F_TIME_DATE              // Print the date in the local time zone: 2009-01-23.
    F_TIME_TIME              // Print the time in the local time zone: 01:23:23.
    F_TIME_MILLI             // Print the time with milliseconds in the local time zone: 01:23:23.675.
    F_TIME_STD   = F_TIME_DATE | F_TIME_MILLI
)
const (
    LEVEL_ALL  = LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT
    LEVEL_DEV  = LEVEL_ALL
    LEVEL_PROD = LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT
    LEVEL_DEBU = 1 << iota // 8
    LEVEL_INFO             // 16
    LEVEL_NOTI             // 32
    LEVEL_WARN             // 64
    LEVEL_ERRO             // 128
    LEVEL_CRIT             // 256
    LEVEL_PANI             // 512
    LEVEL_FATA             // 1024
)

Note that the LEVEL_PANI and LEVEL_FATA levels are not used for logging output, but for prefix configurations.

const (
    // Default group name for instance usage.
    DEFAULT_NAME = "default"
)

func Critical Uses

func Critical(v ...interface{})

Critical prints the logging content with [CRIT] header and newline. It also prints caller stack info if stack feature is enabled.

func Criticalf Uses

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

Criticalf prints the logging content with [CRIT] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func Debug Uses

func Debug(v ...interface{})

Debug prints the logging content with [DEBU] header and newline.

func Debugf Uses

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

Debugf prints the logging content with [DEBU] header, custom format and newline.

func Error Uses

func Error(v ...interface{})

Error prints the logging content with [ERRO] header and newline. It also prints caller stack info if stack feature is enabled.

func Errorf Uses

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

Errorf prints the logging content with [ERRO] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func Fatal Uses

func Fatal(v ...interface{})

Fatal prints the logging content with [FATA] header and newline, then exit the current process.

func Fatalf Uses

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

Fatalf prints the logging content with [FATA] header, custom format and newline, then exit the current process.

func GetFlags Uses

func GetFlags() int

GetFlags returns the flags of logger.

func GetLevel Uses

func GetLevel() int

GetLevel returns the default logging level value.

func GetPath Uses

func GetPath() string

GetPath returns the logging directory path for file logging. It returns empty string if no directory path set.

func GetStack Uses

func GetStack(skip ...int) string

GetStack returns the caller stack content, the optional parameter <skip> specify the skipped stack offset from the end point.

func GetWriter Uses

func GetWriter() io.Writer

GetWriter returns the customized writer object, which implements the io.Writer interface. It returns nil if no customized writer set.

func Info Uses

func Info(v ...interface{})

Info prints the logging content with [INFO] header and newline.

func Infof Uses

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

Infof prints the logging content with [INFO] header, custom format and newline.

func Notice Uses

func Notice(v ...interface{})

Notice prints the logging content with [NOTI] header and newline. It also prints caller stack info if stack feature is enabled.

func Noticef Uses

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

Noticef prints the logging content with [NOTI] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func Panic Uses

func Panic(v ...interface{})

Panic prints the logging content with [PANI] header and newline, then panics.

func Panicf Uses

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

Panicf prints the logging content with [PANI] header, custom format and newline, then panics.

func Print Uses

func Print(v ...interface{})

Print prints <v> with newline using fmt.Sprintln. The parameter <v> can be multiple variables.

func PrintStack Uses

func PrintStack(skip ...int)

PrintStack prints the caller stack, the optional parameter <skip> specify the skipped stack offset from the end point.

func Printf Uses

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

Printf prints <v> with format <format> using fmt.Sprintf. The parameter <v> can be multiple variables.

func Println Uses

func Println(v ...interface{})

See Print.

func SetAsync Uses

func SetAsync(enabled bool)

SetAsync enables/disables async logging output feature for default logger.

func SetConfig Uses

func SetConfig(config Config) error

SetConfig set configurations for the logger.

func SetConfigWithMap Uses

func SetConfigWithMap(m map[string]interface{}) error

SetConfigWithMap set configurations with map for the logger.

func SetDebug Uses

func SetDebug(debug bool)

SetDebug enables/disables the debug level for default logger. The debug level is enbaled in default.

func SetDefaultLogger Uses

func SetDefaultLogger(l *Logger)

SetDefaultLogger sets the default logger for package glog. Note that there might be concurrent safety issue if calls this function in different goroutines.

func SetFile Uses

func SetFile(pattern string)

SetFile sets the file name <pattern> for file logging. Datetime pattern can be used in <pattern>, eg: access-{Ymd}.log. The default file name pattern is: Y-m-d.log, eg: 2018-01-01.log

func SetFlags Uses

func SetFlags(flags int)

SetFlags sets extra flags for logging output features.

func SetHeaderPrint Uses

func SetHeaderPrint(enabled bool)

SetHeaderPrint sets whether output header of the logging contents, which is true in default.

func SetLevel Uses

func SetLevel(level int)

SetLevel sets the default logging level.

func SetPath Uses

func SetPath(path string) error

SetPath sets the directory path for file logging.

func SetPrefix Uses

func SetPrefix(prefix string)

SetPrefix sets prefix string for every logging content. Prefix is part of header, which means if header output is shut, no prefix will be output.

func SetStack Uses

func SetStack(enabled bool)

SetStack enables/disables the stack feature in failure logging outputs.

func SetStdoutPrint Uses

func SetStdoutPrint(enabled bool)

SetStdoutPrint sets whether ouptput the logging contents to stdout, which is true in default.

func SetWriter Uses

func SetWriter(writer io.Writer)

SetWriter sets the customized logging <writer> for logging. The <writer> object should implements the io.Writer interface. Developer can use customized logging <writer> to redirect logging output to another service, eg: kafka, mysql, mongodb, etc.

func Warning Uses

func Warning(v ...interface{})

Warning prints the logging content with [WARN] header and newline. It also prints caller stack info if stack feature is enabled.

func Warningf Uses

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

Warningf prints the logging content with [WARN] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

type Config Uses

type Config struct {
    Writer               io.Writer      // Customized io.Writer.
    Flags                int            // Extra flags for logging output features.
    Path                 string         // Logging directory path.
    File                 string         // Format for logging file.
    Level                int            // Output level.
    Prefix               string         // Prefix string for every logging content.
    StSkip               int            // Skip count for stack.
    StStatus             int            // Stack status(1: enabled - default; 0: disabled)
    StFilter             string         // Stack string filter.
    HeaderPrint          bool           `c:"header"` // Print header or not(true in default).
    StdoutPrint          bool           `c:"stdout"` // Output to stdout or not(true in default).
    LevelPrefixes        map[int]string // Logging level to its prefix string mapping.
    RotateSize           int64          // Rotate the logging file if its size > 0 in bytes.
    RotateExpire         time.Duration  // Rotate the logging file if its mtime exceeds this duration.
    RotateBackupLimit    int            // Max backup for rotated files, default is 0, means no backups.
    RotateBackupExpire   time.Duration  // Max expire for rotated files, which is 0 in default, means no expiration.
    RotateBackupCompress int            // Compress level for rotated files using gzip algorithm. It's 0 in default, means no compression.
    RotateCheckInterval  time.Duration  // Asynchronizely checks the backups and expiration at intervals. It's 1 hour in default.
}

Config is the configuration object for logger.

func DefaultConfig Uses

func DefaultConfig() Config

DefaultConfig returns the default configuration for logger.

type Logger Uses

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

Logger is the struct for logging management.

func Async Uses

func Async(enabled ...bool) *Logger

Async is a chaining function, which enables/disables async logging output feature.

func Cat Uses

func Cat(category string) *Logger

Cat is a chaining function, which sets the category to <category> for current logging content output.

func DefaultLogger Uses

func DefaultLogger() *Logger

Default returns the default logger.

func Expose Uses

func Expose() *Logger

Expose returns the default logger of glog.

func File Uses

func File(pattern string) *Logger

File is a chaining function, which sets file name <pattern> for the current logging content output.

func Header(enabled ...bool) *Logger

Header is a chaining function, which enables/disables log header for the current logging content output. It's enabled in default.

func Instance Uses

func Instance(name ...string) *Logger

Instance returns an instance of Logger with default settings. The parameter <name> is the name for the instance.

func Level Uses

func Level(level int) *Logger

Level is a chaining function, which sets logging level for the current logging content output.

func LevelStr Uses

func LevelStr(levelStr string) *Logger

LevelStr is a chaining function, which sets logging level for the current logging content output using level string.

func Line Uses

func Line(long ...bool) *Logger

Line is a chaining function, which enables/disables printing its caller file along with its line number. The parameter <long> specified whether print the long absolute file path, eg: /a/b/c/d.go:23.

func New Uses

func New() *Logger

New creates and returns a custom logger.

func NewWithWriter Uses

func NewWithWriter(writer io.Writer) *Logger

NewWithWriter creates and returns a custom logger with io.Writer.

func Path Uses

func Path(path string) *Logger

Path is a chaining function, which sets the directory path to <path> for current logging content output.

func Skip Uses

func Skip(skip int) *Logger

Skip is a chaining function, which sets stack skip for the current logging content output. It also affects the caller file path checks when line number printing enabled.

func Stack Uses

func Stack(enabled bool, skip ...int) *Logger

Stack is a chaining function, which sets stack options for the current logging content output .

func StackWithFilter Uses

func StackWithFilter(filter string) *Logger

StackWithFilter is a chaining function, which sets stack filter for the current logging content output .

func Stdout Uses

func Stdout(enabled ...bool) *Logger

StdPrint is a chaining function, which enables/disables stdout for the current logging content output. It's enabled in default.

func To Uses

func To(writer io.Writer) *Logger

To is a chaining function, which redirects current logging content output to the sepecified <writer>.

func (*Logger) Async Uses

func (l *Logger) Async(enabled ...bool) *Logger

Async is a chaining function, which enables/disables async logging output feature.

func (*Logger) Cat Uses

func (l *Logger) Cat(category string) *Logger

Cat is a chaining function, which sets the category to <category> for current logging content output. Param <category> can be hierarchical, eg: module/user.

func (*Logger) Clone Uses

func (l *Logger) Clone() *Logger

Clone returns a new logger, which is the clone the current logger. It's commonly used for chaining operations.

func (*Logger) Critical Uses

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

Critical prints the logging content with [CRIT] header and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Criticalf Uses

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

Criticalf prints the logging content with [CRIT] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Debug Uses

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

Debug prints the logging content with [DEBU] header and newline.

func (*Logger) Debugf Uses

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

Debugf prints the logging content with [DEBU] header, custom format and newline.

func (*Logger) Error Uses

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

Error prints the logging content with [ERRO] header and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Errorf Uses

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

Errorf prints the logging content with [ERRO] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Fatal Uses

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

Fatal prints the logging content with [FATA] header and newline, then exit the current process.

func (*Logger) Fatalf Uses

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

Fatalf prints the logging content with [FATA] header, custom format and newline, then exit the current process.

func (*Logger) File Uses

func (l *Logger) File(file string) *Logger

File is a chaining function, which sets file name <pattern> for the current logging content output.

func (*Logger) GetFlags Uses

func (l *Logger) GetFlags() int

GetFlags returns the flags of logger.

func (*Logger) GetLevel Uses

func (l *Logger) GetLevel() int

GetLevel returns the logging level value.

func (*Logger) GetLevelPrefix Uses

func (l *Logger) GetLevelPrefix(level int) string

GetLevelPrefix returns the prefix string for specified level.

func (*Logger) GetPath Uses

func (l *Logger) GetPath() string

GetPath returns the logging directory path for file logging. It returns empty string if no directory path set.

func (*Logger) GetStack Uses

func (l *Logger) GetStack(skip ...int) string

GetStack returns the caller stack content, the optional parameter <skip> specify the skipped stack offset from the end point.

func (*Logger) GetWriter Uses

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

GetWriter returns the customized writer object, which implements the io.Writer interface. It returns nil if no writer previously set.

func (*Logger) Header Uses

func (l *Logger) Header(enabled ...bool) *Logger

Header is a chaining function, which enables/disables log header for the current logging content output. It's enabled in default.

func (*Logger) Info Uses

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

Info prints the logging content with [INFO] header and newline.

func (*Logger) Infof Uses

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

Infof prints the logging content with [INFO] header, custom format and newline.

func (*Logger) Level Uses

func (l *Logger) Level(level int) *Logger

Level is a chaining function, which sets logging level for the current logging content output.

func (*Logger) LevelStr Uses

func (l *Logger) LevelStr(levelStr string) *Logger

LevelStr is a chaining function, which sets logging level for the current logging content output using level string.

func (*Logger) Line Uses

func (l *Logger) Line(long ...bool) *Logger

Line is a chaining function, which enables/disables printing its caller file path along with its line number. The parameter <long> specified whether print the long absolute file path, eg: /a/b/c/d.go:23, or else short one: d.go:23.

func (*Logger) Notice Uses

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

Notice prints the logging content with [NOTI] header and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Noticef Uses

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

Noticef prints the logging content with [NOTI] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Panic Uses

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

Panic prints the logging content with [PANI] header and newline, then panics.

func (*Logger) Panicf Uses

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

Panicf prints the logging content with [PANI] header, custom format and newline, then panics.

func (*Logger) Path Uses

func (l *Logger) Path(path string) *Logger

Path is a chaining function, which sets the directory path to <path> for current logging content output.

Note that the parameter <path> is a directory path, not a file path.

func (*Logger) Print Uses

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

Print prints <v> with newline using fmt.Sprintln. The parameter <v> can be multiple variables.

func (*Logger) PrintStack Uses

func (l *Logger) PrintStack(skip ...int)

PrintStack prints the caller stack, the optional parameter <skip> specify the skipped stack offset from the end point.

func (*Logger) Printf Uses

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

Printf prints <v> with format <format> using fmt.Sprintf. The parameter <v> can be multiple variables.

func (*Logger) Println Uses

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

Println is alias of Print. See Print.

func (*Logger) SetAsync Uses

func (l *Logger) SetAsync(enabled bool)

SetAsync enables/disables async logging output feature.

func (*Logger) SetConfig Uses

func (l *Logger) SetConfig(config Config) error

SetConfig set configurations for the logger.

func (*Logger) SetConfigWithMap Uses

func (l *Logger) SetConfigWithMap(m map[string]interface{}) error

SetConfigWithMap set configurations with map for the logger.

func (*Logger) SetDebug Uses

func (l *Logger) SetDebug(debug bool)

SetDebug enables/disables the debug level for logger. The debug level is enabled in default.

func (*Logger) SetFile Uses

func (l *Logger) SetFile(pattern string)

SetFile sets the file name <pattern> for file logging. Datetime pattern can be used in <pattern>, eg: access-{Ymd}.log. The default file name pattern is: Y-m-d.log, eg: 2018-01-01.log

func (*Logger) SetFlags Uses

func (l *Logger) SetFlags(flags int)

SetFlags sets extra flags for logging output features.

func (*Logger) SetHeaderPrint Uses

func (l *Logger) SetHeaderPrint(enabled bool)

SetHeaderPrint sets whether output header of the logging contents, which is true in default.

func (*Logger) SetLevel Uses

func (l *Logger) SetLevel(level int)

SetLevel sets the logging level.

func (*Logger) SetLevelPrefix Uses

func (l *Logger) SetLevelPrefix(level int, prefix string)

SetLevelPrefix sets the prefix string for specified level.

func (*Logger) SetLevelPrefixes Uses

func (l *Logger) SetLevelPrefixes(prefixes map[int]string)

SetLevelPrefixes sets the level to prefix string mapping for the logger.

func (*Logger) SetLevelStr Uses

func (l *Logger) SetLevelStr(levelStr string) error

SetLevelStr sets the logging level by level string.

func (*Logger) SetPath Uses

func (l *Logger) SetPath(path string) error

SetPath sets the directory path for file logging.

func (*Logger) SetPrefix Uses

func (l *Logger) SetPrefix(prefix string)

SetPrefix sets prefix string for every logging content. Prefix is part of header, which means if header output is shut, no prefix will be output.

func (*Logger) SetStack Uses

func (l *Logger) SetStack(enabled bool)

SetStack enables/disables the stack feature in failure logging outputs.

func (*Logger) SetStackFilter Uses

func (l *Logger) SetStackFilter(filter string)

SetStackFilter sets the stack filter from the end point.

func (*Logger) SetStackSkip Uses

func (l *Logger) SetStackSkip(skip int)

SetStackSkip sets the stack offset from the end point.

func (*Logger) SetStdoutPrint Uses

func (l *Logger) SetStdoutPrint(enabled bool)

SetStdoutPrint sets whether output the logging contents to stdout, which is true in default.

func (*Logger) SetWriter Uses

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

SetWriter sets the customized logging <writer> for logging. The <writer> object should implements the io.Writer interface. Developer can use customized logging <writer> to redirect logging output to another service, eg: kafka, mysql, mongodb, etc.

func (*Logger) Skip Uses

func (l *Logger) Skip(skip int) *Logger

Skip is a chaining function, which sets stack skip for the current logging content output. It also affects the caller file path checks when line number printing enabled.

func (*Logger) Stack Uses

func (l *Logger) Stack(enabled bool, skip ...int) *Logger

Stack is a chaining function, which sets stack options for the current logging content output .

func (*Logger) StackWithFilter Uses

func (l *Logger) StackWithFilter(filter string) *Logger

StackWithFilter is a chaining function, which sets stack filter for the current logging content output .

func (*Logger) Stdout Uses

func (l *Logger) Stdout(enabled ...bool) *Logger

Stdout is a chaining function, which enables/disables stdout for the current logging content output. It's enabled in default.

func (*Logger) To Uses

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

To is a chaining function, which redirects current logging content output to the specified <writer>.

func (*Logger) Warning Uses

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

Warning prints the logging content with [WARN] header and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Warningf Uses

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

Warningf prints the logging content with [WARN] header, custom format and newline. It also prints caller stack info if stack feature is enabled.

func (*Logger) Write Uses

func (l *Logger) Write(p []byte) (n int, err error)

Write implements the io.Writer interface. It just prints the content using Print.

Package glog imports 23 packages (graph) and is imported by 22 packages. Updated 2020-03-30. Refresh now. Tools for package owners.