[Go 语言社区] Golang架构底层---日志函数

时间:2022-05-04
本文章向大家介绍[Go 语言社区] Golang架构底层---日志函数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
服务器后台架构,日志是必不可少的一个功能模块,日志可以分为很多中:统计日志,访问日志,错误日志等

今天大家发是运行中的日志函数

// 日志函数,传入数据为字符串
func Log(data string, data1 ...string) {
    var datatmp string
    datatmp = data
    for _, data1 := range data1 {
        datatmp = datatmp + data1
    }
    var path string
    if os.IsPathSeparator('\') { //前边的判断是否是系统的分隔符
        path = "\"
    } else {
        path = "/"
    }
    dir, _ := os.Getwd()                     // 获取当前的程序路径
    os.MkdirAll(dir+path+"log", os.ModePerm) //生成多级目录
    //创建日志文件
    t := time.Now()
    filepath := "./log/access_run_" + FilePort + t.Format("2006-01-02") + ".txt"
    _, err := os.Stat(filepath)
    var file *os.File
    var sTmp string
    if err != nil {
        file, err = os.Create(filepath)
        defer file.Close()
    } else {
        file, err = os.OpenFile(filepath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
        defer file.Close()
    }
    sTmp = strings.Replace(t.String()[:19], ":", ":", 3) + ":  " + datatmp + "rn"
    file.WriteString(sTmp)
}