1 Star 0 Fork 1

flyiot/flylibs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
FlyLoggerSettings.go 1.78 KB
一键复制 编辑 原始数据 按行查看 历史
flyrainning 提交于 2023-03-07 20:51 +08:00 . u
package FlyLog
import (
"errors"
"strings"
"gitee.com/flyiot/flylibs/FlyConfigFile"
)
type FlyLogLevel int
const (
FlyLogLevel_Silent FlyLogLevel = 0
FlyLogLevel_Error FlyLogLevel = 1
FlyLogLevel_Warn FlyLogLevel = 2
FlyLogLevel_Info FlyLogLevel = 3
FlyLogLevel_Debug FlyLogLevel = 4
)
type FlyLoggerSettings struct {
Enable bool
ConfigType string
ConfigKey string
FileLevel FlyLogLevel
ConsoleLevel FlyLogLevel
FileDir string
AutoCleanTime int
Ready bool
}
func NewFlyLoggerSettings() *FlyLoggerSettings {
s := FlyLoggerSettings{}
s.Enable = true
s.FileLevel = FlyLogLevel_Info
s.ConsoleLevel = FlyLogLevel_Info
s.FileDir = "log"
s.AutoCleanTime = 0
s.Ready = true
return &s
}
// 从ini加载配置信息
func (s *FlyLoggerSettings) LoadIni(config *FlyConfigFile.FlyIni, key string) error {
s.Ready = false
if !config.Ready {
return errors.New("config file error")
}
s.Enable = config.GetBool(key, "enable", true)
s.ConfigType = "ini"
s.ConfigKey = key
s.AutoCleanTime = config.GetInt(key, "auto_clean_time", 72)
s.FileDir = config.GetString(key, "file_dir", "log")
file_level := config.GetString(key, "file_level", "info")
console_level := config.GetString(key, "console_level", "info")
s.FileLevel = s.ParseLogLevel(file_level)
s.ConsoleLevel = s.ParseLogLevel(console_level)
s.Ready = true
return nil
}
func (s *FlyLoggerSettings) ParseLogLevel(name string) FlyLogLevel {
level := strings.ToLower(strings.Trim(name, " "))
if level == "debug" || level == "all" {
return FlyLogLevel_Debug
} else if level == "info" {
return FlyLogLevel_Info
} else if level == "warn" || level == "warnning" {
return FlyLogLevel_Warn
} else if level == "error" {
return FlyLogLevel_Error
} else {
return FlyLogLevel_Silent
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/flyiot/flylibs.git
git@gitee.com:flyiot/flylibs.git
flyiot
flylibs
flylibs
b9c81f1c9857

搜索帮助