gpt4 book ai didi

go - golang报错函数如何获取编译信息

转载 作者:IT王子 更新时间:2023-10-29 00:59:22 25 4
gpt4 key购买 nike

函数如何从运行时建立以下详细信息,以便它可以将适当的错误报告作为错误库的一部分用于许多产品(我们正在转换为 golang):

  • 可执行文件的编译日期和时间
  • 用于创建可执行文件的编译机

我希望能够检索这两个文件以增加我可以报告的各种文件修订号以及一些堆栈跟踪信息

有用的相关但偏离主题的信息:
- 您可以从运行时获取堆栈跟踪,如此处所示 http://technosophos.com/2014/03/19/generating-stack-traces-in-go.html
- 反射包 http://golang.org/pkg/reflect/可用于检查已识别的功能

感谢您的帮助,
理查德

最佳答案

您可以在构建时使用 -X 链接器标志来设置字符串变量的值:

go build -ldflags "-X main.Uname '$(uname -a)' -X main.CompileTime '$(date)'"

有了这样的命令,这段代码

package main

import "fmt"

// Set by the linker.
var CompileTime, Uname string

func main() {
fmt.Println(Uname)
fmt.Println(CompileTime)
}

会打印类似的东西

Linux user 3.13.0-53 Wed May 20 10:34:39 UTC 2015 x86_64 GNU/Linux
Wed May 27 12:00:00 UTC 2015

参见 linker docs了解更多信息。

关于go - golang报错函数如何获取编译信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com