代码拉取完成,页面将自动刷新
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()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。