mirror of https://github.com/rjbasitali/go-log
35 lines
960 B
Go
35 lines
960 B
Go
package log
|
|
|
|
const (
|
|
alertFlag = 0b00000001 // L1
|
|
errorFlag = 0b00000001 // L1
|
|
warnFlag = 0b00000010 // L2
|
|
highlightFlag = 0b00000100 // L3
|
|
informFlag = 0b00001000 // L4
|
|
logFlag = 0b00010000 // L5
|
|
traceFlag = 0b00100000 // L6
|
|
)
|
|
|
|
func (l myLogger) Level(level uint8) Logger {
|
|
logger := myLogger{Writer: l.Writer, prefix: l.prefix, begin: l.begin}
|
|
switch level {
|
|
case 1:
|
|
logger.level = alertFlag | errorFlag
|
|
case 2:
|
|
logger.level = alertFlag | errorFlag | warnFlag
|
|
case 3:
|
|
logger.level = alertFlag | errorFlag | warnFlag | highlightFlag
|
|
case 4:
|
|
logger.level = alertFlag | errorFlag | warnFlag | highlightFlag | informFlag
|
|
case 5:
|
|
logger.level = alertFlag | errorFlag | warnFlag | highlightFlag | informFlag | logFlag
|
|
default:
|
|
logger.level = alertFlag | errorFlag | warnFlag | highlightFlag | informFlag | logFlag | traceFlag
|
|
}
|
|
return logger
|
|
}
|
|
|
|
func hasLevel(b uint8, flag uint8) bool {
|
|
return b&flag != 0
|
|
}
|