12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package hiedalog
- const (
- DLN_FATAL = "FATAL"
- DLN_PANIC = "PANIC"
- DLN_ERROR = "ERROR"
- DLN_WARN = "WARN"
- DLN_INFO = "INFO"
- DLN_VERBOSE = "VERBOSE"
- DLN_DEBUG = "DEBUG"
- )
- type HiedaLogLevel struct {
- Name string
- LevelNumber uint8
- }
- type HiedaLogLevelFilter struct {
- levelNameMap map[string]HiedaLogLevel
- defaultLevelID uint8
- }
- func (f *HiedaLogLevelFilter) NameToID(name string) uint8 {
- v, ok := f.levelNameMap[name]
- if ok {
- return v.LevelNumber
- } else {
- return f.defaultLevelID
- }
- }
- func (f *HiedaLogLevelFilter) NameToLevel(name string) HiedaLogLevel {
- v, ok := f.levelNameMap[name]
- if ok {
- return v
- } else {
- return HiedaLogLevel{Name: name, LevelNumber: f.defaultLevelID}
- }
- }
- func (f *HiedaLogLevelFilter) CanEmit(name string, reflevel uint8) bool {
- id := f.NameToID(name)
- return id <= reflevel
- }
- func (f *HiedaLogLevelFilter) CanEmitEx(name string, reflevel uint8) (bool, HiedaLogLevel) {
- l := f.NameToLevel(name)
- return l.LevelNumber <= reflevel, l
- }
- func (f *HiedaLogLevelFilter) GetLevelList() []HiedaLogLevel {
- o := make([]HiedaLogLevel, 0, len(f.levelNameMap))
- for _, v := range f.levelNameMap {
- o = append(o, v)
- }
- return o
- }
- func NewLevelFilter(levelList []HiedaLogLevel, defaultLevelID uint8) HiedaLogLevelFilter {
- m := make(map[string]HiedaLogLevel)
- for _, v := range levelList {
- m[v.Name] = v
- }
- return HiedaLogLevelFilter{
- levelNameMap: m,
- defaultLevelID: defaultLevelID,
- }
- }
- func NewDefaultLevelFilter() HiedaLogLevelFilter {
- ld := []HiedaLogLevel{
- {Name: "FATAL", LevelNumber: 0},
- {Name: "PANIC", LevelNumber: 1},
- {Name: "ERROR", LevelNumber: 2},
- {Name: "WARN", LevelNumber: 3},
- {Name: "INFO", LevelNumber: 4},
- {Name: "VERBOSE", LevelNumber: 5},
- {Name: "DEBUG", LevelNumber: 6},
- {Name: "UNKNOWN", LevelNumber: 7},
- }
- return NewLevelFilter(ld, 7)
- }
|