Documentation ¶
Index ¶
- Constants
- func ConsoleFormater(out io.Writer, noColor bool) io.Writer
- func FileExist(path string) bool
- func LogSetLevel(lvl GoutilLogLevel)
- func NewRotateFileWriter(path, prefix string, rotation, expiry time.Duration) io.Writer
- type GoutilArgs
- type GoutilConfig
- type GoutilCore
- type GoutilLog
- type GoutilLogLevel
- type ParseResult
- type SubConfig
Constants ¶
View Source
const ( ConfigPathDefault = "config/app.yml" AppNameDefault = "app" )
Variables ¶
This section is empty.
Functions ¶
func ConsoleFormater ¶
终端日志格式化输出. inefficient!!! TODO: writer日志等级控制 TODO: 子模块日志等级控制 TODO: Faster pretty logging
Types ¶
type GoutilArgs ¶
type GoutilArgs struct { Help bool `longOpt:"help" shortOpt:"h" brief:"show this usage"` GoutilConfigPath string `longOpt:"goutil.config.path" shortOpt:"c" brief:"profile path"` GoutilConfigSub []string `longOpt:"goutil.config.sub" shortOpt:"s" brief:"sub-profile names. .e.g: -s dev,intranet,debug"` Result ParseResult }
命令行参数结构体. 支持的类型:
bool string []string
tag说明:
longOpt: 长选项名, 格式: --<longOpt>=<args> shortOpt: 短选项名, 格式: -<shortOpt> <args> brief: 简要说明
help:
仅显示usage, 不退出程序
type GoutilConfig ¶
配置信息结构体. 扩展Viper以支持多配置
func NewConfig ¶
func NewConfig(file string, subs ...string) *GoutilConfig
配置初始化
file: 主配置文件. 可以是相对路径 subs: 子配置文件后缀
func (*GoutilConfig) OnConfigReload ¶
func (s *GoutilConfig) OnConfigReload(f func(fsnotify.Event))
设置主/子配置文件被修改后的处理, 只需设置一次
func (*GoutilConfig) SetSubConfigs ¶
func (s *GoutilConfig) SetSubConfigs(subs ...string)
加载一个或多个子配置.
subs: 子配置文件名. 前缀为主配置文件的`路径+文件名`, 后缀名同主配置文件
tips:
- 加载子配置前必须先加载主配置文件.
- 多配置数据合并规则为向左覆盖.
- 不支持动态设置子配置
type GoutilCore ¶
type GoutilCore struct { Args *GoutilArgs Config *GoutilConfig Log *GoutilLog }
type GoutilLogLevel ¶
type GoutilLogLevel int8
const ( // 日志等级定义 DebugLevel GoutilLogLevel = iota InfoLevel WarnLevel ErrorLevel FatalLevel Disabled LogTimeFormat = "060102_150405.000000000" )
type ParseResult ¶
type ParseResult int
const ( ParseSuccess ParseResult // 解析通过 ParseNoArg // 选项不需要参数 ParseFailed // 解析失败 )
解析结果
Click to show internal directories.
Click to hide internal directories.