41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
|
|
package levellogger
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"log"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// Log Level Importance
|
|||
|
|
// Fatal One or more key business functionalities are not working and the whole system doesn’t fulfill the business functionalities.
|
|||
|
|
// Error One or more functionalities are not working, preventing some functionalities from working correctly.
|
|||
|
|
// Warn Unexpected behavior happened inside the application, but it is continuing its work and the key business features are operating as expected.
|
|||
|
|
// Info An event happened, the event is purely informative and can be ignored during normal operations.
|
|||
|
|
// Debug A log level used for events considered to be useful during software debugging when more granular information is needed.
|
|||
|
|
// Trace A log level describing events showing step by step execution of your code that can be ignored during the standard operation, but may be useful during extended debugging sessions.
|
|||
|
|
|
|||
|
|
type LogLevel int
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
Panic LogLevel = iota
|
|||
|
|
Trace
|
|||
|
|
Debug
|
|||
|
|
Info
|
|||
|
|
Warn
|
|||
|
|
Error
|
|||
|
|
Fatal
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// type LevelLogger interface {
|
|||
|
|
// NewLevelLogger(out io.Writer, prefix string, flag int) *log.Logger
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
type LevelLogger struct {
|
|||
|
|
CurrentLevel LogLevel
|
|||
|
|
panicLog *log.Logger
|
|||
|
|
traceLog *log.Logger
|
|||
|
|
debugLog *log.Logger
|
|||
|
|
infoLog *log.Logger
|
|||
|
|
warnLog *log.Logger
|
|||
|
|
errorLog *log.Logger
|
|||
|
|
fatalLog *log.Logger
|
|||
|
|
}
|