package main
import (
"github.com/cheungchan/fiveredstar/logger"
"github.com/gin-gonic/gin"
"github.com/rs/zerolog"
"github.com/gogf/gf/os/glog"
"fmt"
)
// 脚本日志初始化
InitLog("logs/","test_logger", "10M", false)
// 打印日志
glog.Infof("执行%s,超时时间%ds", cmdStr, timeout)
// 在gin里使用日志
r := gin.New()
r.Use(GinMiddleware("test_gin"))
import (
"github.com/cheungchan/fiveredstar/cmd"
"fmt"
)
// 执行持续输出的命令 命令的标准输出和标准错误会重定向的out这个channel里,通过cmd.HandleOutputChannel来按行迭代channel里面的line
out := cmd.GetShellOutput(ctx, cmdStr, false)
cmd.HandleOutputChannel(out, false, func (line string) {
fmt.Println(line)
})
// 执行很快执行完的命令
s, err:= cmd.GetShellOutputOnce("ls -l", false)
// 判断是否是开发者,可以传入一系列开发者白名单,如果当前操作系统的用户名字了,则是dev模式
cmd.IsDev("chenzhang","liuhan")
// 获取字符串的md5值
cmd.GetMd5("balabala")
import (
"github.com/cheungchan/fiveredstar/io"
// 判断是否是文件夹
b := io.IsDir("/root")
// 判断文件是否存在
b = io.FileIsExist("/root/a.txt")
// 创建文件夹
io.MakeDir("/root/tmp")
// 拷贝文件
io.CopyFile("/root/a.txt","/root/b.txt")
// 递归拷贝文件夹
io.CopyDir("/root/a/","/root/b/")
// 列出当前文件夹下的所有文件,不递归
io.ListDir("/root")
// 列出当前文件夹下的所有文件和子文件夹下的所有文件
io.WalkDir("/root")
// 删除文件
io.RemoveFile("/root/a.txt")
// 删除文件夹
io.RemoveDirAll("/root/a/")
)