代码拉取完成,页面将自动刷新
package xlog
const (
LevelDebug = 1 << iota
LevelInfo
LevelWarn
LevelError
LevelPanic
LevelFatal
LevelDev = LevelDebug | LevelInfo | LevelWarn | LevelError | LevelFatal | LevelPanic
LevelProd = LevelInfo | LevelWarn | LevelError | LevelFatal | LevelPanic
)
var (
// level 的前缀字符串
defaultLevelPrefixes = map[int]string{
LevelDebug: "DEBU",
LevelInfo: "INFO",
LevelWarn: "WARN",
LevelError: "ERRO",
LevelPanic: "PANI",
LevelFatal: "FATA",
}
// level 颜色, 颜色参数格式: 格式:\033[显示方式;前景色;背景色m
levelColor = map[int]string{
-1: "\033[0m", // 重置
// LevelDebug: "DEBU",
LevelInfo: "\033[32m", // 绿色
LevelWarn: "\033[33m", // 黄色
LevelError: "\033[31m", // 红色
LevelPanic: "\033[35m", // 紫红色
LevelFatal: "\033[1;35m", // 加粗紫红色
}
)
// SetLevel 设置日志级别
func (x *XLogger) SetLevel(level int) {
x.config.Level = level | LevelPanic | LevelFatal
}
// GetLevel 获取配置的日志级别
func (x *XLogger) GetLevel() int {
return x.config.Level
}
// SetLevelPrefix 设置日志前缀
func (x *XLogger) SetLevelPrefix(level int, prefix string) {
x.config.LevelPrefixes[level] = prefix
}
// GetLevelPrefix 获取日志前缀
func (x *XLogger) GetLevelPrefix(level int) string {
return x.config.LevelPrefixes[level]
}
// getLevelPrefixWithBrackets
func (x *XLogger) getLevelPrefixWithBrackets(level int) string {
str, ok := x.config.LevelPrefixes[level]
if !ok {
str = defaultLevelPrefixes[level]
}
// 判断下是否需要对内容加颜色显示
// 1. 配置了打印颜色
// 2. 不写入日志文件(主要防止写入的 level 部分包含 \033xxx 字符扰乱日志)
if x.config.StdPrintLevelColor && x.config.FilePath == "" {
str = levelColor[level] + str + levelColor[-1] // 同时需要重置下
}
return "[" + str + "]"
}
// checkLevel
func (x *XLogger) checkLevel(level int) bool {
return x.config.Level&level > 0
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。