Documentation ¶
Overview ¶
Package glog implements powerful and easy-to-use leveled logging functionality.
Index ¶
- Constants
- func Critical(ctx context.Context, v ...interface{})
- func Criticalf(ctx context.Context, format string, v ...interface{})
- func Debug(ctx context.Context, v ...interface{})
- func Debugf(ctx context.Context, format string, v ...interface{})
- func Error(ctx context.Context, v ...interface{})
- func Errorf(ctx context.Context, format string, v ...interface{})
- func Fatal(ctx context.Context, v ...interface{})
- func Fatalf(ctx context.Context, format string, v ...interface{})
- func GetCtxKeys() []interface{}
- func GetFlags() int
- func GetLevel() int
- func GetLevelPrefix(level int) string
- func GetPath() string
- func GetStack(skip ...int) string
- func GetWriter() io.Writer
- func HandlerJson(ctx context.Context, in *HandlerInput)
- func HandlerStructure(ctx context.Context, in *HandlerInput)
- func Info(ctx context.Context, v ...interface{})
- func Infof(ctx context.Context, format string, v ...interface{})
- func Notice(ctx context.Context, v ...interface{})
- func Noticef(ctx context.Context, format string, v ...interface{})
- func Panic(ctx context.Context, v ...interface{})
- func Panicf(ctx context.Context, format string, v ...interface{})
- func Print(ctx context.Context, v ...interface{})
- func PrintStack(ctx context.Context, skip ...int)
- func Printf(ctx context.Context, format string, v ...interface{})
- func SetAsync(enabled bool)
- func SetConfig(config Config) error
- func SetConfigWithMap(m map[string]interface{}) error
- func SetCtxKeys(keys ...interface{})
- func SetDebug(debug bool)
- func SetDefaultHandler(handler Handler)
- func SetDefaultLogger(l *Logger)
- func SetFile(pattern string)
- func SetFlags(flags int)
- func SetHandlers(handlers ...Handler)
- func SetHeaderPrint(enabled bool)
- func SetLevel(level int)
- func SetLevelPrefix(level int, prefix string)
- func SetLevelPrefixes(prefixes map[int]string)
- func SetLevelStr(levelStr string) error
- func SetPath(path string) error
- func SetPrefix(prefix string)
- func SetStack(enabled bool)
- func SetStdoutPrint(enabled bool)
- func SetWriter(writer io.Writer)
- func SetWriterColorEnable(enabled bool)
- func Warning(ctx context.Context, v ...interface{})
- func Warningf(ctx context.Context, format string, v ...interface{})
- type Config
- type Handler
- type HandlerInput
- type HandlerOutputJson
- type ILogger
- type Logger
- func Async(enabled ...bool) *Logger
- func Cat(category string) *Logger
- func DefaultLogger() *Logger
- func Expose() *Logger
- func File(pattern string) *Logger
- func Header(enabled ...bool) *Logger
- func Instance(name ...string) *Logger
- func Level(level int) *Logger
- func LevelStr(levelStr string) *Logger
- func Line(long ...bool) *Logger
- func New() *Logger
- func NewWithWriter(writer io.Writer) *Logger
- func Path(path string) *Logger
- func Skip(skip int) *Logger
- func Stack(enabled bool, skip ...int) *Logger
- func StackWithFilter(filter string) *Logger
- func Stdout(enabled ...bool) *Logger
- func To(writer io.Writer) *Logger
- func (l *Logger) AppendCtxKeys(keys ...interface{})
- func (l *Logger) Async(enabled ...bool) *Logger
- func (l *Logger) Cat(category string) *Logger
- func (l *Logger) Clone() *Logger
- func (l *Logger) Critical(ctx context.Context, v ...interface{})
- func (l *Logger) Criticalf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Debug(ctx context.Context, v ...interface{})
- func (l *Logger) Debugf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Error(ctx context.Context, v ...interface{})
- func (l *Logger) Errorf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Fatal(ctx context.Context, v ...interface{})
- func (l *Logger) Fatalf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) File(file string) *Logger
- func (l *Logger) GetConfig() Config
- func (l *Logger) GetCtxKeys() []interface{}
- func (l *Logger) GetFlags() int
- func (l *Logger) GetLevel() int
- func (l *Logger) GetLevelPrefix(level int) string
- func (l *Logger) GetPath() string
- func (l *Logger) GetStack(skip ...int) string
- func (l *Logger) GetWriter() io.Writer
- func (l *Logger) Header(enabled ...bool) *Logger
- func (l *Logger) Info(ctx context.Context, v ...interface{})
- func (l *Logger) Infof(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Level(level int) *Logger
- func (l *Logger) LevelStr(levelStr string) *Logger
- func (l *Logger) Line(long ...bool) *Logger
- func (l *Logger) Notice(ctx context.Context, v ...interface{})
- func (l *Logger) Noticef(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Panic(ctx context.Context, v ...interface{})
- func (l *Logger) Panicf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Path(path string) *Logger
- func (l *Logger) Print(ctx context.Context, v ...interface{})
- func (l *Logger) PrintStack(ctx context.Context, skip ...int)
- func (l *Logger) Printf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) SetAsync(enabled bool)
- func (l *Logger) SetConfig(config Config) error
- func (l *Logger) SetConfigWithMap(m map[string]interface{}) error
- func (l *Logger) SetCtxKeys(keys ...interface{})
- func (l *Logger) SetDebug(debug bool)
- func (l *Logger) SetFile(pattern string)
- func (l *Logger) SetFlags(flags int)
- func (l *Logger) SetHandlers(handlers ...Handler)
- func (l *Logger) SetHeaderPrint(enabled bool)
- func (l *Logger) SetLevel(level int)
- func (l *Logger) SetLevelPrefix(level int, prefix string)
- func (l *Logger) SetLevelPrefixes(prefixes map[int]string)
- func (l *Logger) SetLevelPrint(enabled bool)
- func (l *Logger) SetLevelStr(levelStr string) error
- func (l *Logger) SetPath(path string) error
- func (l *Logger) SetPrefix(prefix string)
- func (l *Logger) SetStack(enabled bool)
- func (l *Logger) SetStackFilter(filter string)
- func (l *Logger) SetStackSkip(skip int)
- func (l *Logger) SetStdoutColorDisabled(disabled bool)
- func (l *Logger) SetStdoutPrint(enabled bool)
- func (l *Logger) SetTimeFormat(timeFormat string)
- func (l *Logger) SetWriter(writer io.Writer)
- func (l *Logger) SetWriterColorEnable(enabled bool)
- func (l *Logger) Skip(skip int) *Logger
- func (l *Logger) Stack(enabled bool, skip ...int) *Logger
- func (l *Logger) StackWithFilter(filter string) *Logger
- func (l *Logger) Stdout(enabled ...bool) *Logger
- func (l *Logger) To(writer io.Writer) *Logger
- func (l *Logger) Warning(ctx context.Context, v ...interface{})
- func (l *Logger) Warningf(ctx context.Context, format string, v ...interface{})
- func (l *Logger) Write(p []byte) (n int, err error)
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_CALLER_FN // Print Caller function name and package: main.main F_TIME_STD = F_TIME_DATE | F_TIME_MILLI )
const ( COLOR_BLACK = 30 + iota COLOR_RED COLOR_GREEN COLOR_YELLOW COLOR_BLUE COLOR_MAGENTA COLOR_CYAN COLOR_WHITE )
const ( COLOR_HI_BLACK = 90 + iota COLOR_HI_RED COLOR_HI_GREEN COLOR_HI_YELLOW COLOR_HI_BLUE COLOR_HI_MAGENTA COLOR_HI_CYAN COLOR_HI_WHITE )
Foreground Hi-Intensity text colors
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_NONE = 0 LEVEL_DEBU = 1 << iota // 16 LEVEL_INFO // 32 LEVEL_NOTI // 64 LEVEL_WARN // 128 LEVEL_ERRO // 256 LEVEL_CRIT // 512 LEVEL_PANI // 1024 LEVEL_FATA // 2048 )
Note that the LEVEL_PANI and LEVEL_FATA levels are not used for logging output, but for prefix configurations.
const (
// DefaultName is the default group name for instance usage.
DefaultName = "default"
)
Variables ¶
This section is empty.
Functions ¶
func Critical ¶
Critical prints the logging content with [CRIT] header and newline. It also prints caller stack info if stack feature is enabled.
func Criticalf ¶
Criticalf prints the logging content with [CRIT] header, custom format and newline. It also prints caller stack info if stack feature is enabled.
func Error ¶
Error prints the logging content with [ERRO] header and newline. It also prints caller stack info if stack feature is enabled.
func Errorf ¶
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 ¶
Fatal prints the logging content with [FATA] header and newline, then exit the current process.
func Fatalf ¶
Fatalf prints the logging content with [FATA] header, custom format and newline, then exit the current process.
func GetCtxKeys ¶
func GetCtxKeys() []interface{}
GetCtxKeys retrieves and returns the context keys for logging.
func GetLevelPrefix ¶
GetLevelPrefix returns the prefix string for specified level.
func GetPath ¶
func GetPath() string
GetPath returns the logging directory path for file logging. It returns empty string if no directory path set.
func GetStack ¶
GetStack returns the caller stack content, the optional parameter `skip` specify the skipped stack offset from the end point.
func GetWriter ¶
GetWriter returns the customized writer object, which implements the io.Writer interface. It returns nil if no customized writer set.
func HandlerJson ¶
func HandlerJson(ctx context.Context, in *HandlerInput)
HandlerJson is a handler for output logging content as a single json string.
func HandlerStructure ¶
func HandlerStructure(ctx context.Context, in *HandlerInput)
HandlerStructure is a handler for output logging content as a structured string.
func Notice ¶
Notice prints the logging content with [NOTI] header and newline. It also prints caller stack info if stack feature is enabled.
func Noticef ¶
Noticef prints the logging content with [NOTI] header, custom format and newline. It also prints caller stack info if stack feature is enabled.
func Panicf ¶
Panicf prints the logging content with [PANI] header, custom format and newline, then panics.
func Print ¶
Print prints `v` with newline using fmt.Sprintln. The parameter `v` can be multiple variables.
func PrintStack ¶
PrintStack prints the caller stack, the optional parameter `skip` specify the skipped stack offset from the end point.
func Printf ¶
Printf prints `v` with format `format` using fmt.Sprintf. The parameter `v` can be multiple variables.
func SetAsync ¶
func SetAsync(enabled bool)
SetAsync enables/disables async logging output feature for default defaultLogger.
func SetConfigWithMap ¶
SetConfigWithMap set configurations with map for the defaultLogger.
func SetCtxKeys ¶
func SetCtxKeys(keys ...interface{})
SetCtxKeys sets the context keys for defaultLogger. The keys is used for retrieving values from context and printing them to logging content.
Note that multiple calls of this function will overwrite the previous set context keys.
func SetDebug ¶
func SetDebug(debug bool)
SetDebug enables/disables the debug level for default defaultLogger. The debug level is enabled in default.
func SetDefaultHandler ¶
func SetDefaultHandler(handler Handler)
SetDefaultHandler sets default handler for package.
func SetDefaultLogger ¶
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 ¶
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 SetHandlers ¶
func SetHandlers(handlers ...Handler)
SetHandlers sets the logging handlers for default defaultLogger.
func SetHeaderPrint ¶
func SetHeaderPrint(enabled bool)
SetHeaderPrint sets whether output header of the logging contents, which is true in default.
func SetLevelPrefix ¶
SetLevelPrefix sets the prefix string for specified level.
func SetLevelPrefixes ¶
SetLevelPrefixes sets the level to prefix string mapping for the defaultLogger.
func SetLevelStr ¶
SetLevelStr sets the logging level by level string.
func SetPrefix ¶
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 ¶
func SetStack(enabled bool)
SetStack enables/disables the stack feature in failure logging outputs.
func SetStdoutPrint ¶
func SetStdoutPrint(enabled bool)
SetStdoutPrint sets whether ouptput the logging contents to stdout, which is true in default.
func SetWriter ¶
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 SetWriterColorEnable ¶
func SetWriterColorEnable(enabled bool)
SetWriterColorEnable sets the file logging with color
Types ¶
type Config ¶
type Config struct { Handlers []Handler `json:"-"` // Logger handlers which implement feature similar as middleware. Writer io.Writer `json:"-"` // Customized io.Writer. Flags int `json:"flags"` // Extra flags for logging output features. TimeFormat string `json:"timeFormat"` // Logging time format Path string `json:"path"` // Logging directory path. File string `json:"file"` // Format pattern for logging file. Level int `json:"level"` // Output level. Prefix string `json:"prefix"` // Prefix string for every logging content. StSkip int `json:"stSkip"` // Skipping count for stack. StStatus int `json:"stStatus"` // Stack status(1: enabled - default; 0: disabled) StFilter string `json:"stFilter"` // Stack string filter. CtxKeys []interface{} `json:"ctxKeys"` // Context keys for logging, which is used for value retrieving from context. HeaderPrint bool `json:"header"` // Print header or not(true in default). StdoutPrint bool `json:"stdout"` // Output to stdout or not(true in default). LevelPrint bool `json:"levelPrint"` // Print level format string or not(true in default). LevelPrefixes map[int]string `json:"levelPrefixes"` // Logging level to its prefix string mapping. RotateSize int64 `json:"rotateSize"` // Rotate the logging file if its size > 0 in bytes. RotateExpire time.Duration `json:"rotateExpire"` // Rotate the logging file if its mtime exceeds this duration. RotateBackupLimit int `json:"rotateBackupLimit"` // Max backup for rotated files, default is 0, means no backups. RotateBackupExpire time.Duration `json:"rotateBackupExpire"` // Max expires for rotated files, which is 0 in default, means no expiration. RotateBackupCompress int `json:"rotateBackupCompress"` // Compress level for rotated files using gzip algorithm. It's 0 in default, means no compression. RotateCheckInterval time.Duration `json:"rotateCheckInterval"` // Asynchronously checks the backups and expiration at intervals. It's 1 hour in default. StdoutColorDisabled bool `json:"stdoutColorDisabled"` // Logging level prefix with color to writer or not (false in default). WriterColorEnable bool `json:"writerColorEnable"` // Logging level prefix with color to writer or not (false in default). // contains filtered or unexported fields }
Config is the configuration object for logger.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns the default configuration for logger.
type Handler ¶
type Handler func(ctx context.Context, in *HandlerInput)
Handler is function handler for custom logging content outputs.
func GetDefaultHandler ¶
func GetDefaultHandler() Handler
GetDefaultHandler returns the default handler of package.
type HandlerInput ¶
type HandlerInput struct { // Current Logger object. Logger *Logger // Buffer for logging content outputs. Buffer *bytes.Buffer // (ReadOnly) Logging time, which is the time that logging triggers. Time time.Time // Formatted time string for output, like "2016-01-09 12:00:00". TimeFormat string // (ReadOnly) Using color constant value, like COLOR_RED, COLOR_BLUE, etc. // Example: 34 Color int // (ReadOnly) Using level, like LEVEL_INFO, LEVEL_ERRO, etc. // Example: 256 Level int // Formatted level string for output, like "DEBU", "ERRO", etc. // Example: ERRO LevelFormat string // The source function name that calls logging, only available if F_CALLER_FN set. CallerFunc string // The source file path and its line number that calls logging, // only available if F_FILE_SHORT or F_FILE_LONG set. CallerPath string // The retrieved context value string from context, only available if Config.CtxKeys configured. // It's empty if no Config.CtxKeys configured. CtxStr string // Trace id, only available if OpenTelemetry is enabled, or else it's an empty string. TraceId string // Custom prefix string in logging content header part. // Note that, it takes no effect if HeaderPrint is disabled. Prefix string // Custom logging content for logging. Content string // The passed un-formatted values array to logger. Values []any // Stack string produced by logger, only available if Config.StStatus configured. // Note that there are usually multiple lines in stack content. Stack string // IsAsync marks it is in asynchronous logging. IsAsync bool // contains filtered or unexported fields }
HandlerInput is the input parameter struct for logging Handler.
The logging content is consisted in: TimeFormat [LevelFormat] {TraceId} {CtxStr} Prefix CallerFunc CallerPath Content Values Stack
The header in the logging content is: TimeFormat [LevelFormat] {TraceId} {CtxStr} Prefix CallerFunc CallerPath
func (*HandlerInput) Next ¶
func (in *HandlerInput) Next(ctx context.Context)
Next calls the next logging handler in middleware way.
func (*HandlerInput) String ¶
func (in *HandlerInput) String(withColor ...bool) string
String returns the logging content formatted by default logging handler.
func (*HandlerInput) ValuesContent ¶
func (in *HandlerInput) ValuesContent() string
ValuesContent converts and returns values as string content.
type HandlerOutputJson ¶
type HandlerOutputJson struct { Time string `json:""` // Formatted time string, like "2016-01-09 12:00:00". TraceId string `json:",omitempty"` // Trace id, only available if tracing is enabled. CtxStr string `json:",omitempty"` // The retrieved context value string from context, only available if Config.CtxKeys configured. Level string `json:""` // Formatted level string, like "DEBU", "ERRO", etc. Eg: ERRO CallerPath string `json:",omitempty"` // The source file path and its line number that calls logging, only available if F_FILE_SHORT or F_FILE_LONG set. CallerFunc string `json:",omitempty"` // The source function name that calls logging, only available if F_CALLER_FN set. Prefix string `json:",omitempty"` // Custom prefix string for logging content. Content string `json:""` // Content is the main logging content, containing error stack string produced by logger. Stack string `json:",omitempty"` // Stack string produced by logger, only available if Config.StStatus configured. }
HandlerOutputJson is the structure outputting logging content as single json.
type ILogger ¶
type ILogger interface { Print(ctx context.Context, v ...interface{}) Printf(ctx context.Context, format string, v ...interface{}) Debug(ctx context.Context, v ...interface{}) Debugf(ctx context.Context, format string, v ...interface{}) Info(ctx context.Context, v ...interface{}) Infof(ctx context.Context, format string, v ...interface{}) Notice(ctx context.Context, v ...interface{}) Noticef(ctx context.Context, format string, v ...interface{}) Warning(ctx context.Context, v ...interface{}) Warningf(ctx context.Context, format string, v ...interface{}) Error(ctx context.Context, v ...interface{}) Errorf(ctx context.Context, format string, v ...interface{}) Critical(ctx context.Context, v ...interface{}) Criticalf(ctx context.Context, format string, v ...interface{}) Panic(ctx context.Context, v ...interface{}) Panicf(ctx context.Context, format string, v ...interface{}) Fatal(ctx context.Context, v ...interface{}) Fatalf(ctx context.Context, format string, v ...interface{}) }
ILogger is the API interface for logger.
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is the struct for logging management.
func Cat ¶
Cat is a chaining function, which sets the category to `category` for current logging content output.
func File ¶
File is a chaining function, which sets file name `pattern` for the current logging content output.
func Header ¶
Header is a chaining function, which enables/disables log header for the current logging content output. It's enabled in default.
func Instance ¶
Instance returns an instance of Logger with default settings. The parameter `name` is the name for the instance.
func Level ¶
Level is a chaining function, which sets logging level for the current logging content output.
func LevelStr ¶
LevelStr is a chaining function, which sets logging level for the current logging content output using level string.
func Line ¶
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 NewWithWriter ¶
NewWithWriter creates and returns a custom logger with io.Writer.
func Path ¶
Path is a chaining function, which sets the directory path to `path` for current logging content output.
func Skip ¶
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 ¶
Stack is a chaining function, which sets stack options for the current logging content output .
func StackWithFilter ¶
StackWithFilter is a chaining function, which sets stack filter for the current logging content output .
func Stdout ¶
Stdout is a chaining function, which enables/disables stdout for the current logging content output. It's enabled in default.
func To ¶
To is a chaining function, which redirects current logging content output to the sepecified `writer`.
func (*Logger) AppendCtxKeys ¶
func (l *Logger) AppendCtxKeys(keys ...interface{})
AppendCtxKeys appends extra keys to logger. It ignores the key if it is already appended to the logger previously.
func (*Logger) Async ¶
Async is a chaining function, which enables/disables async logging output feature.
func (*Logger) Cat ¶
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 ¶
Clone returns a new logger, which a `shallow copy` of the current logger. Note that the attribute `config` of the cloned one is the shallow copy of current one.
func (*Logger) Critical ¶
Critical prints the logging content with [CRIT] header and newline. It also prints caller stack info if stack feature is enabled.
func (*Logger) Criticalf ¶
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) Debugf ¶
Debugf prints the logging content with [DEBU] header, custom format and newline.
func (*Logger) Error ¶
Error prints the logging content with [ERRO] header and newline. It also prints caller stack info if stack feature is enabled.
func (*Logger) Errorf ¶
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 ¶
Fatal prints the logging content with [FATA] header and newline, then exit the current process.
func (*Logger) Fatalf ¶
Fatalf prints the logging content with [FATA] header, custom format and newline, then exit the current process.
func (*Logger) File ¶
File is a chaining function, which sets file name `pattern` for the current logging content output.
func (*Logger) GetCtxKeys ¶
func (l *Logger) GetCtxKeys() []interface{}
GetCtxKeys retrieves and returns the context keys for logging.
func (*Logger) GetLevelPrefix ¶
GetLevelPrefix returns the prefix string for specified level.
func (*Logger) GetPath ¶
GetPath returns the logging directory path for file logging. It returns empty string if no directory path set.
func (*Logger) GetStack ¶
GetStack returns the caller stack content, the optional parameter `skip` specify the skipped stack offset from the end point.
func (*Logger) GetWriter ¶
GetWriter returns the customized writer object, which implements the io.Writer interface. It returns nil if no writer previously set.
func (*Logger) Header ¶
Header is a chaining function, which enables/disables log header for the current logging content output. It's enabled in default.
func (*Logger) Infof ¶
Infof prints the logging content with [INFO] header, custom format and newline.
func (*Logger) Level ¶
Level is a chaining function, which sets logging level for the current logging content output.
func (*Logger) LevelStr ¶
LevelStr is a chaining function, which sets logging level for the current logging content output using level string.
func (*Logger) Line ¶
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 ¶
Notice prints the logging content with [NOTI] header and newline. It also prints caller stack info if stack feature is enabled.
func (*Logger) Noticef ¶
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 ¶
Panic prints the logging content with [PANI] header and newline, then panics.
func (*Logger) Panicf ¶
Panicf prints the logging content with [PANI] header, custom format and newline, then panics.
func (*Logger) Path ¶
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 ¶
Print prints `v` with newline using fmt.Sprintln. The parameter `v` can be multiple variables.
func (*Logger) PrintStack ¶
PrintStack prints the caller stack, the optional parameter `skip` specify the skipped stack offset from the end point.
func (*Logger) Printf ¶
Printf prints `v` with format `format` using fmt.Sprintf. The parameter `v` can be multiple variables.
func (*Logger) SetConfigWithMap ¶
SetConfigWithMap set configurations with map for the logger.
func (*Logger) SetCtxKeys ¶
func (l *Logger) SetCtxKeys(keys ...interface{})
SetCtxKeys sets the context keys for logger. The keys is used for retrieving values from context and printing them to logging content.
Note that multiple calls of this function will overwrite the previous set context keys.
func (*Logger) SetDebug ¶
SetDebug enables/disables the debug level for logger. The debug level is enabled in default.
func (*Logger) SetFile ¶
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) SetHandlers ¶
SetHandlers sets the logging handlers for current logger.
func (*Logger) SetHeaderPrint ¶
SetHeaderPrint sets whether output header of the logging contents, which is true in default.
func (*Logger) SetLevel ¶
SetLevel sets the logging level. Note that levels ` LEVEL_CRIT | LEVEL_PANI | LEVEL_FATA ` cannot be removed for logging content, which are automatically added to levels.
func (*Logger) SetLevelPrefix ¶
SetLevelPrefix sets the prefix string for specified level.
func (*Logger) SetLevelPrefixes ¶
SetLevelPrefixes sets the level to prefix string mapping for the logger.
func (*Logger) SetLevelPrint ¶
SetLevelPrint sets whether output level string of the logging contents, which is true in default.
func (*Logger) SetLevelStr ¶
SetLevelStr sets the logging level by level string.
func (*Logger) SetPrefix ¶
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) SetStackFilter ¶
SetStackFilter sets the stack filter from the end point.
func (*Logger) SetStackSkip ¶
SetStackSkip sets the stack offset from the end point.
func (*Logger) SetStdoutColorDisabled ¶
SetStdoutColorDisabled disables stdout logging with color.
func (*Logger) SetStdoutPrint ¶
SetStdoutPrint sets whether output the logging contents to stdout, which is true in default.
func (*Logger) SetTimeFormat ¶
SetTimeFormat sets the time format for the logging time.
func (*Logger) SetWriter ¶
SetWriter sets the customized logging `writer` for logging. The `writer` object should implement the io.Writer interface. Developer can use customized logging `writer` to redirect logging output to another service, eg: kafka, mysql, mongodb, etc.
func (*Logger) SetWriterColorEnable ¶
SetWriterColorEnable enables file/writer logging with color.
func (*Logger) Skip ¶
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 ¶
Stack is a chaining function, which sets stack options for the current logging content output .
func (*Logger) StackWithFilter ¶
StackWithFilter is a chaining function, which sets stack filter for the current logging content output .
func (*Logger) Stdout ¶
Stdout is a chaining function, which enables/disables stdout for the current logging content output. It's enabled in default.
func (*Logger) To ¶
To is a chaining function, which redirects current logging content output to the specified `writer`.
func (*Logger) Warning ¶
Warning prints the logging content with [WARN] header and newline. It also prints caller stack info if stack feature is enabled.
Source 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_color.go
- glog_logger_config.go
- glog_logger_handler.go
- glog_logger_handler_json.go
- glog_logger_handler_structure.go
- glog_logger_level.go
- glog_logger_rotate.go
- glog_logger_writer.go