当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang log.SetOutput()用法及代码示例


问题解决方法:

在这个程序中,我们将使用 log.SetOutput() 和 log.Print() 函数将日志写入指定的文件。将带有时间戳的日志消息保存到指定文件中。

程序/源代码:

下面给出了使用 log.SetOutput() 函数将日志写入指定文件的源代码。给定的程序在 ubuntu 18.04 操作系统上编译和执行成功。

// Golang program to write log into specified
// file using log.SetOutput() function

package main

import "log"
import "os"
import "fmt"

func main() {
	filePtr, err:= os.OpenFile("mylogs.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666)
	if err != nil {
		log.Fatal(err)
	}

	//Set log output to the "mylogs.log" file.
	log.SetOutput(filePtr)

	log.Print("Log line1")
	log.Print("Log line2")

	filePtr.Close()

	fmt.Println("Program finished")
}

输出:

$ go run hello.go 
Program finished

$ cat mylogs.log 
2021/04/22 01:46:18 Log line1
2021/04/22 01:46:18 Log line2

说明:

在上面的程序中,我们声明了包 main。 main 包用于告诉 Go 语言编译器必须编译该包并生成可执行文件。在这里,我们导入了 "fmt" 包以使用 Println() 函数,我们还导入了 "log" 包以使用日志函数。

在 main() 函数中,我们使用 log.SetOutput() 函数将 log.Print() 函数的输出设置为使用 log.SetOutput() 函数的文件绑定。





相关用法


注:本文由纯净天空筛选整理自 Golang program to write log into specified file using log.SetOutput() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。