【Go】标准库log的基本使用

标准库log是Go语言提供的用于简单日志记录的包。它可以帮助我们输出日志信息,以便在程序运行时进行调试、错误跟踪和状态记录等。下面是log包的基本使用方法:

  1. 导入log包:

首先需要导入log包,以便在代码中使用它。

import "log"
  1. 输出日志消息:

使用log包可以输出各种级别的日志消息,例如普通信息、警告和错误等。以下是几个常用的输出函数:

  • Print:输出普通信息,没有特定的级别。
  • Printf:格式化输出普通信息。
  • Println:输出普通信息,自动换行。
  • Fatal:输出错误信息并终止程序运行。
  • Fatalf:格式化输出错误信息并终止程序运行。
  • Fatalln:输出错误信息并终止程序运行,自动换行。

下面是一个简单的示例,展示了如何使用log包输出日志:

package main

import "log"

func main() {
    
    
    log.Print("普通日志消息")
    log.Println("普通日志消息(自动换行)")
    log.Printf("带参数的日志消息:%s", "参数值")

    log.Fatal("致命错误日志消息") // 程序会终止运行,后续代码不会执行
}

在上述示例中,我们使用了log.Printlog.Printlnlog.Printf输出了不同形式的日志消息。最后,我们使用log.Fatal输出致命错误日志消息,并调用os.Exit(1)终止程序运行。

  1. 设置日志输出前缀:

你可以使用log.SetPrefix函数设置日志输出的前缀字符串。这在区分不同模块的日志时非常有用。

func main() {
    
    
    log.SetPrefix("[MyApp]")
    log.Print("普通日志消息")
    // 输出:[MyApp] 普通日志消息
}

在上述示例中,我们通过log.SetPrefix设置了日志输出的前缀为[MyApp],然后使用log.Print输出日志消息。输出结果将包含前缀字符串。

  1. 记录调用堆栈信息:

使用log包还可以记录调用堆栈信息,以便在错误跟踪时更好地定位问题。你可以使用log.Printlog.Printlnlog.Printf等输出函数前加上log.SetFlags(log.LstdFlags | log.Lshortfile)来启用堆栈信息记录。

func main() {
    
    
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.Print("普通日志消息")
    // 输出:2023/08/04 11:30:45 main.go:11: 普通日志消息
}

在上述示例中,我们使用log.SetFlags设置了日志记录的标志位,其中log.LstdFlags会输出日期和时间,log.Lshortfile会输出文件名和行号。

这只是log包的基本使用方法,你还可以通过设置更多标志位、重定向日志输出到文件等方式来拓展其功能。

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/132098589