登录
首页 >  Golang >  Go问答

Golang 中的日志记录器功能出现问题

来源:stackoverflow

时间:2024-03-28 15:27:14 122浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《Golang 中的日志记录器功能出现问题》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我有一个非常简单的记录器功能,但是在创建日志文件时,没有向其中写入任何内容。我尝试了几种不同的方法,但仍然失败。其功能是

func logger(logname string, message string) {
    logName := "../planner/log/" + logname + ".log"
    var file *os.File

    file, err := os.OpenFile(logName, os.O_APPEND|os.O_CREATE, 0755)
    if err != nil {
        fmt.Println("File", logName, "failed with error:", err)
    }

    //file.WriteString(message)
    fmt.Fprintf(file, message)
    fmt.Println("Wrote", message, "to", logName)
    file.Sync()
    file.Close()

    test, err := os.Stat(logName)
    size := test.Size()
    fmt.Println("File size is", size)
}

解决方案


您没有在文件中获取任何内容,因为您没有使用 os.WRONLYos.RDWR 打开它。默认情况下。 os.OpenFile 返回一个仅具有读取权限的缓冲区。您可能需要使用 defer 关闭文件,以防代码因 defer file.Close() 出现混乱。

本篇关于《Golang 中的日志记录器功能出现问题》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>