Documentation ¶
Overview ¶
Package logging provides logging functionality for gnet server, it sets up a default logger (powered by go.uber.org/zap) which is about to be used by gnet server, it also allows users to replace the default logger with their customized logger by just implementing the `Logger` interface and assign it to the functional option `Options.Logger`, pass it to `gnet.Serve` method.
The environment variable `GNET_LOGGING_LEVEL` determines which zap logger level will be applied for logging. The environment variable `GNET_LOGGING_FILE` is set to a local file path when you want to print logs into local file. Alternatives of logging level (the variable of logging level ought to be integer):
const (
// DebugLevel logs are typically voluminous, and are usually disabled in // production. DebugLevel Level = iota - 1 // InfoLevel is the default logging priority. InfoLevel // WarnLevel logs are more important than Info, but don't need individual // human review. WarnLevel // ErrorLevel logs are high-priority. If an application is running smoothly, // it shouldn't generate any error-level logs. ErrorLevel // DPanicLevel logs are particularly important errors. In development the // logger panics after writing the message. DPanicLevel // PanicLevel logs a message, then panics. PanicLevel // FatalLevel logs a message, then calls os.Exit(1). FatalLevel
)
Index ¶
- Constants
- func Cleanup()
- func Debugf(format string, args ...interface{})
- func Error(err error)
- func Errorf(format string, args ...interface{})
- func Fatalf(format string, args ...interface{})
- func Infof(format string, args ...interface{})
- func LogLevel() string
- func SetDefaultLoggerAndFlusher(logger Logger, flusher Flusher)
- func Warnf(format string, args ...interface{})
- type Flusher
- type Level
- type Logger
Constants ¶
const ( // DebugLevel logs are typically voluminous, and are usually disabled in // production. DebugLevel = zapcore.DebugLevel // InfoLevel is the default logging priority. InfoLevel = zapcore.InfoLevel // WarnLevel logs are more important than Info, but don't need individual // human review. WarnLevel = zapcore.WarnLevel // ErrorLevel logs are high-priority. If an application is running smoothly, // it shouldn't generate any error-level logs. ErrorLevel = zapcore.ErrorLevel // DPanicLevel logs are particularly important errors. In development the // logger panics after writing the message. DPanicLevel = zapcore.DPanicLevel // PanicLevel logs a message, then panics. PanicLevel = zapcore.PanicLevel // FatalLevel logs a message, then calls os.Exit(1). FatalLevel = zapcore.FatalLevel )
Variables ¶
This section is empty.
Functions ¶
func Cleanup ¶
func Cleanup()
Cleanup does something windup for logger, like closing, flushing, etc.
func SetDefaultLoggerAndFlusher ¶ added in v2.2.9
SetDefaultLoggerAndFlusher sets the default logger and its flusher.
Note that this function should only be called once at the start of the program and not thereafter for the entire runtime, otherwise it will only keep the first setup.
Types ¶
type Flusher ¶ added in v2.2.9
type Flusher = func() error
Flusher is the callback function which flushes any buffered log entries to the underlying writer. It is usually called before the gnet process exits.
func GetDefaultFlusher ¶ added in v2.2.9
func GetDefaultFlusher() Flusher
GetDefaultFlusher returns the default flusher.
type Logger ¶
type Logger interface { // Debugf logs messages at DEBUG level. Debugf(format string, args ...interface{}) // Infof logs messages at INFO level. Infof(format string, args ...interface{}) // Warnf logs messages at WARN level. Warnf(format string, args ...interface{}) // Errorf logs messages at ERROR level. Errorf(format string, args ...interface{}) // Fatalf logs messages at FATAL level. Fatalf(format string, args ...interface{}) }
Logger is used for logging formatted messages.