Documentation ¶
Overview ¶
Package log implements a simple, flexible, non-blocking logger. It supports `console`, `file` (rotation by daily, size, lines). It also has a predefined 'standard' Logger accessible through helper functions `Error{f}`, `Warn{f}`, `Info{f}`, `Debug{f}`, `Trace{f}`, `Print{f,ln}`, `Fatal{f,ln}`, `Panic{f,ln}` which are easier to use than creating a Logger manually. Default logger writes to standard error and prints log `Entry` details as per `DefaultPattern`.
aah log package can be used as drop-in replacement for standard go logger with features.
log.Info("Welcome ", "to ", "aah ", "logger") log.Infof("%v, %v, %v", "simple", "flexible", "non-blocking logger") // Output: 2016-07-03 19:22:11.504 INFO Welcome to aah logger 2016-07-03 19:22:11.504 INFO simple, flexible, non-blocking logger
Index ¶
- Variables
- func Debug(v ...interface{})
- func Debugf(format string, v ...interface{})
- func Error(v ...interface{})
- func Errorf(format string, v ...interface{})
- func Fatal(v ...interface{})
- func Fatalf(format string, v ...interface{})
- func Fatalln(format string, v ...interface{})
- func Info(v ...interface{})
- func Infof(format string, v ...interface{})
- func IsBufferEmpty() bool
- func Panic(v ...interface{})
- func Panicf(format string, v ...interface{})
- func Panicln(format string, v ...interface{})
- func Print(v ...interface{})
- func Printf(format string, v ...interface{})
- func Println(format string, v ...interface{})
- func SetDefaultLogger(l *Logger)
- func SetLevel(level string) error
- func SetPattern(pattern string) error
- func Trace(v ...interface{})
- func Tracef(format string, v ...interface{})
- func Warn(v ...interface{})
- func Warnf(format string, v ...interface{})
- type ConsoleReceiver
- type DiscardReceiver
- type Entry
- type FileReceiver
- type FlagPart
- type FmtFlag
- type Level
- type Logger
- func (l *Logger) Debug(v ...interface{})
- func (l *Logger) Debugf(format string, v ...interface{})
- func (l *Logger) Error(v ...interface{})
- func (l *Logger) Errorf(format string, v ...interface{})
- func (l *Logger) Fatal(v ...interface{})
- func (l *Logger) Fatalf(format string, v ...interface{})
- func (l *Logger) Fatalln(format string, v ...interface{})
- func (l *Logger) Info(v ...interface{})
- func (l *Logger) Infof(format string, v ...interface{})
- func (l *Logger) IsBufferEmpty() bool
- func (l *Logger) Level() string
- func (l *Logger) Panic(v ...interface{})
- func (l *Logger) Panicf(format string, v ...interface{})
- func (l *Logger) Panicln(format string, v ...interface{})
- func (l *Logger) Print(v ...interface{})
- func (l *Logger) Printf(format string, v ...interface{})
- func (l *Logger) Println(format string, v ...interface{})
- func (l *Logger) SetLevel(level string) error
- func (l *Logger) SetPattern(pattern string) error
- func (l *Logger) SetReceiver(receiver Receiver) error
- func (l *Logger) Trace(v ...interface{})
- func (l *Logger) Tracef(format string, v ...interface{})
- func (l *Logger) Warn(v ...interface{})
- func (l *Logger) Warnf(format string, v ...interface{})
- type Receiver
Constants ¶
This section is empty.
Variables ¶
var ( // Version no. of aahframework.org/log library Version = "0.3.1" // FmtFlags is the list of log format flags supported by aah/log library // Usage of flag order is up to format composition. // level - outputs INFO, DEBUG, ERROR, so on // time - outputs local time as per format supplied // utctime - outputs UTC time as per format supplied // longfile - outputs full file name: /a/b/c/d.go // shortfile - outputs final file name element: d.go // line - outputs file line number: L23 // message - outputs given message along supplied arguments if they present // custom - outputs string as-is into log entry FmtFlags = map[string]FmtFlag{ "level": FmtFlagLevel, "time": FmtFlagTime, "utctime": FmtFlagUTCTime, "longfile": FmtFlagLongfile, "shortfile": FmtFlagShortfile, "line": FmtFlagLine, "message": FmtFlagMessage, "custom": FmtFlagCustom, } // DefaultPattern is default log entry pattern in aah/log. Only applicable to // text formatter. // For e.g: // 2006-01-02 15:04:05.000 INFO This is my message DefaultPattern = "%time:2006-01-02 15:04:05.000 %level:-5 %message" // BackupTimeFormat is used for timestamp with filename on rotation BackupTimeFormat = "2006-01-02-15-04-05.000" // ErrLogReceiverIsNil returned when suppiled receiver is nil. ErrLogReceiverIsNil = errors.New("log: receiver is nil") )
Functions ¶
func Debug ¶
func Debug(v ...interface{})
Debug logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Print`.
func Debugf ¶
func Debugf(format string, v ...interface{})
Debugf logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Printf`.
func Error ¶
func Error(v ...interface{})
Error logs message as `ERROR`. Arguments handled in the mananer of `fmt.Print`.
func Errorf ¶
func Errorf(format string, v ...interface{})
Errorf logs message as `ERROR`. Arguments handled in the mananer of `fmt.Printf`.
func Fatalf ¶
func Fatalf(format string, v ...interface{})
Fatalf logs message as `FATAL` and call to os.Exit(1).
func Fatalln ¶
func Fatalln(format string, v ...interface{})
Fatalln logs message as `FATAL` and call to os.Exit(1).
func Info ¶
func Info(v ...interface{})
Info logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
func Infof ¶
func Infof(format string, v ...interface{})
Infof logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func IsBufferEmpty ¶
func IsBufferEmpty() bool
IsBufferEmpty returns true if logger buffer is empty otherwise false. This method can be used to ensure all the log entry is written successfully.
func Panicf ¶
func Panicf(format string, v ...interface{})
Panicf logs message as `PANIC` and call to panic().
func Panicln ¶
func Panicln(format string, v ...interface{})
Panicln logs message as `PANIC` and call to panic().
func Print ¶
func Print(v ...interface{})
Print logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
func Printf ¶
func Printf(format string, v ...interface{})
Printf logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func Println ¶
func Println(format string, v ...interface{})
Println logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func SetDefaultLogger ¶
func SetDefaultLogger(l *Logger)
SetDefaultLogger method sets the given logger instance as default logger.
func SetPattern ¶
SetPattern method sets the log format pattern for default logger.
func Trace ¶
func Trace(v ...interface{})
Trace logs message as `TRACE`. Arguments handled in the mananer of `fmt.Print`.
func Tracef ¶
func Tracef(format string, v ...interface{})
Tracef logs message as `TRACE`. Arguments handled in the mananer of `fmt.Printf`.
Types ¶
type ConsoleReceiver ¶
type ConsoleReceiver struct {
// contains filtered or unexported fields
}
ConsoleReceiver writes the log entry into os.Stderr. For non-windows it writes with color.
func (*ConsoleReceiver) Init ¶
func (c *ConsoleReceiver) Init(cfg *config.Config) error
Init method initializes the console logger.
func (*ConsoleReceiver) IsCallerInfo ¶
func (c *ConsoleReceiver) IsCallerInfo() bool
IsCallerInfo method returns true if log receiver is configured with caller info otherwise false.
func (*ConsoleReceiver) Log ¶
func (c *ConsoleReceiver) Log(entry *Entry)
Log method writes the log entry into os.Stderr.
func (*ConsoleReceiver) SetPattern ¶
func (c *ConsoleReceiver) SetPattern(pattern string) error
SetPattern method initializes the logger format pattern.
type DiscardReceiver ¶
type DiscardReceiver struct { }
DiscardReceiver is to throw the log entry.
func (*DiscardReceiver) Init ¶
func (d *DiscardReceiver) Init(_ *config.Config) error
Init method initializes the console logger.
func (*DiscardReceiver) IsCallerInfo ¶
func (d *DiscardReceiver) IsCallerInfo() bool
IsCallerInfo method returns true if log receiver is configured with caller info otherwise false.
func (*DiscardReceiver) SetPattern ¶
func (d *DiscardReceiver) SetPattern(_ string) error
SetPattern method initializes the logger format pattern.
type Entry ¶
type Entry struct { Level Level `json:"level,omitempty"` Time time.Time `json:"timestamp,omitempty"` Message string `json:"message,omitempty"` File string `json:"file,omitempty"` Line int `json:"line,omitempty"` }
Entry represents a log entry and contains the timestamp when the entry was created, level, etc.
func (*Entry) MarshalJSON ¶
MarshalJSON method for formating entry to JSON.
type FileReceiver ¶
type FileReceiver struct {
// contains filtered or unexported fields
}
FileReceiver writes the log entry into file.
func (*FileReceiver) Init ¶
func (f *FileReceiver) Init(cfg *config.Config) error
Init method initializes the file receiver instance.
func (*FileReceiver) IsCallerInfo ¶
func (f *FileReceiver) IsCallerInfo() bool
IsCallerInfo method returns true if log receiver is configured with caller info otherwise false.
func (*FileReceiver) Log ¶
func (f *FileReceiver) Log(entry *Entry)
Log method logs the given entry values into file.
func (*FileReceiver) SetPattern ¶
func (f *FileReceiver) SetPattern(pattern string) error
SetPattern method initializes the logger format pattern.
type FlagPart ¶
FlagPart is indiviual flag details
For e.g.: part := FlagPart{ Flag: fmtFlagTime, Name: "time", Format: "2006-01-02 15:04:05.000", }
type Level ¶
type Level uint8
Level type definition
const ( LevelError Level LevelWarn LevelInfo LevelDebug LevelTrace LevelUnknown )
Log Level definition
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is the object which logs the given message into recevier as per deifned format flags. Logger can be used simultaneously from multiple goroutines; it guarantees to serialize access to the Receivers.
func (*Logger) Debug ¶
func (l *Logger) Debug(v ...interface{})
Debug logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Print`.
func (*Logger) Debugf ¶
Debugf logs message as `DEBUG`. Arguments handled in the mananer of `fmt.Printf`.
func (*Logger) Error ¶
func (l *Logger) Error(v ...interface{})
Error logs message as `ERROR`. Arguments handled in the mananer of `fmt.Print`.
func (*Logger) Errorf ¶
Errorf logs message as `ERROR`. Arguments handled in the mananer of `fmt.Printf`.
func (*Logger) Fatal ¶
func (l *Logger) Fatal(v ...interface{})
Fatal logs message as `FATAL` and call to os.Exit(1).
func (*Logger) Info ¶
func (l *Logger) Info(v ...interface{})
Info logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
func (*Logger) Infof ¶
Infof logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func (*Logger) IsBufferEmpty ¶
IsBufferEmpty returns true if logger buffer is empty otherwise false. This method can be used to ensure all the log entry is written successfully.
func (*Logger) Panic ¶
func (l *Logger) Panic(v ...interface{})
Panic logs message as `PANIC` and call to panic().
func (*Logger) Print ¶
func (l *Logger) Print(v ...interface{})
Print logs message as `INFO`. Arguments handled in the mananer of `fmt.Print`.
func (*Logger) Printf ¶
Printf logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func (*Logger) Println ¶
Println logs message as `INFO`. Arguments handled in the mananer of `fmt.Printf`.
func (*Logger) SetLevel ¶
SetLevel method sets the given logging level for the logger. For e.g.: INFO, WARN, DEBUG, etc. Case-insensitive.
func (*Logger) SetPattern ¶
SetPattern methods sets the log format pattern.
func (*Logger) SetReceiver ¶
SetReceiver sets the given receiver into logger instance.
func (*Logger) Trace ¶
func (l *Logger) Trace(v ...interface{})
Trace logs message as `TRACE`. Arguments handled in the mananer of `fmt.Print`.
func (*Logger) Tracef ¶
Tracef logs message as `TRACE`. Arguments handled in the mananer of `fmt.Printf`.