1 Star 3 Fork 1

古丞秋/uymas

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
default-app.go 2.56 KB
一键复制 编辑 原始数据 按行查看 历史
package main
import (
"fmt"
"gitee.com/conero/uymas/bin"
"gitee.com/conero/uymas/bin/color"
"gitee.com/conero/uymas/logger"
"gitee.com/conero/uymas/logger/lgr"
"os"
"runtime"
"time"
)
type defaultApp struct {
bin.CliApp
}
func (c *defaultApp) DefaultIndex() {
fmt.Printf("demo 子命令")
}
func (c *defaultApp) DefaultHelp() {
fmt.Println("cal [equal] 计算器")
fmt.Println(" -V,--verbose 详细显示")
fmt.Println()
fmt.Println("color [text] 文本颜色码测试,不设置时默认")
fmt.Println(" -v,--value 指定样式默认时为红色")
fmt.Println(" -r,--raw 原始输出,用于原始命令控制如清屏之类")
fmt.Println(" -m,--multi [..] 设置多种样式合并效果,组合样式")
fmt.Println()
fmt.Println("log [text] 日志测试")
fmt.Println(" -l,--level 日志级别设置")
}
// Color 测试命令行文本颜色
func (c *defaultApp) Color() {
text := c.Cc.SubCommand
rawArgs := []string{"raw", "r"}
if c.Cc.CheckSetting(rawArgs...) {
argStr := c.Cc.ArgRaw(rawArgs...)
if argStr != "" {
text = argStr
}
if text == "" {
lgr.Info("请输入内容先!")
return
}
fmt.Printf("\033[%s", text)
fmt.Println()
return
}
if text == "" {
text = ":)- It's demo test text, default.\n " + time.Now().Format(time.RFC3339)
}
multi := c.Cc.ArgIntSlice("multi", "m")
if len(multi) > 0 {
colorStr := color.Styles(text, multi...)
fmt.Println(colorStr)
lgr.Info("原始:%#v", colorStr)
return
}
value := c.Cc.ArgInt("value", "v")
if value < 1 {
value = color.TextRed
}
colorStr := color.Style(value, text)
fmt.Println(colorStr)
lgr.Info("原始:%#v", colorStr)
}
func (c *defaultApp) DefaultUnmatched() {
lgr.Error("命令 %v 不存在", c.Cc.Command)
}
func (c *defaultApp) Log() {
text := c.Cc.SubCommand
if text == "" {
text = "日志测试文本,可输入内容显示不同内容。" + time.Now().Format(time.RFC3339) +
"。\n 可通过 UYMAS_LGR_LEVEL 环境变量设置 lgr 的日志级别"
}
level := c.Cc.ArgRaw("l", "level")
var lg *logger.Logger
if level == "" {
tmpLog := lgr.Log()
lg = &tmpLog
} else {
lg = logger.NewLogger(logger.Config{
Level: level,
})
}
if level != "" {
lg.Infof("当前设置 level 参数: %s", level)
}
lg.Errorf(text)
lg.Warnf(text)
lg.Infof(text)
lg.Infof("go version: %s, Os: %s, pid: %d, ppid: %d", runtime.Version(), runtime.GOOS, os.Getpid(), os.Getppid())
lg.Debugf(text)
lg.Tracef(text)
lg.Debugf("os args: %#v", os.Args)
lg.Tracef("Getpid: %v, uid: %v", os.Getpid(), os.Getuid())
fmt.Println()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/conero/uymas.git
git@gitee.com:conero/uymas.git
conero
uymas
uymas
v1.5.0

搜索帮助