diff options
Diffstat (limited to 'levels.go')
| -rw-r--r-- | levels.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/levels.go b/levels.go new file mode 100644 index 0000000..6b9213e --- /dev/null +++ b/levels.go @@ -0,0 +1,38 @@ +package logging + +type LevelEnum uint16 + +const ( + None LevelEnum = iota + Error + Warn + Info + Debug +) + +type levelInfo struct { + abbrev string + color string +} + +var ( + levelInfos = map[LevelEnum]levelInfo{ + Error: {"ERR", Red}, + Warn: {"WARN", Yellow}, + Info: {"INFO", Cyan}, + Debug: {"DEBUG", Green}, + } +) + +func (s LevelEnum) Info() levelInfo { + info, ok := levelInfos[s] + if !ok { + return levelInfo{"UNK", White} + } + return info +} + +func (s LevelEnum) Format() string { + info := s.Info() + return colorize("["+info.abbrev+"]", info.color) +} |
