42 lines
1.4 KiB
Go
42 lines
1.4 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 (
|
||
LevelLoggerOff LogLevel = iota
|
||
PanicLevel
|
||
TraceLevel
|
||
DebugLevel
|
||
InfoLevel
|
||
WarnLevel
|
||
ErrorLevel
|
||
FatalLevel
|
||
)
|
||
|
||
// 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
|
||
}
|