在Golang中,Log打印行号等信息

Wendal Chen · · 16880 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

做个小笔记, 默认情况下,log模块的只打印日期和时间, 没具体行号,比较不爽,嘿嘿

package main
/*
#include 
*/
import "C"
import "log"

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

打印结果:

2012/07/24 19:27: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)
        }
}

有疑问加站长微信联系(非本文作者)

本文来自:Wendal 随笔

感谢作者:Wendal Chen

查看原文:在Golang中,Log打印行号等信息

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

16880 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传