Golang的Log打印行号等信息

默认情况下,log模块的只打印日期和时间, 没具体行号。

package main
/*
#include <stdlib.h>
*/
import "C"
import "log"

func main() {
    log.SetFlags(log.Lshortfile | log.LstdFlags)
    log.Println( C.random())
}

打印结果:

2022/05/25 22:35:55 X.cgo1.go:14: 1804289383

其中, log.Lshortfile 还可以设置为log.Llongfile 即完整文件路径

获取当前行数,文件名,函数名(方法名):

package main

import (
       "runtime"
       "fmt"
)

func main() {
        funcName, file, line, ok := runtime.Caller(0)
        if ok {
            fmt.Println("Func Name=" + runtime.FuncForPC(funcName).Name())
            fmt.Printf("file: %s    line=%d\n", file, line)
        }
}

参考:http://wendal.net/446.html


» 本文链接:https://blog.apires.cn/archives/2242.html
» 转载请注明来源:Java地带  » 《Golang的Log打印行号等信息》

» 本文章为Java地带整理创作,欢迎转载!转载请注明本文地址,谢谢!
» 部分内容收集整理自网络,如有侵权请联系我删除!

» 订阅本站:https://blog.apires.cn/feed/

标签: GoLang

评论已关闭