因为Go 语言中没有自带的宏, 来表示行号和文件, 需要从方法中去获取,麻烦.所以封装了一个函数,用于输出平时程序的打印日志
package main
import (
"fmt"
"runtime"
"strconv"
)
func AddLog(msg string) string {
_, _, line, ok := runtime.Caller(1)
s := ""
if ok {
s = " [" + strconv.Itoa(line) + "]"
msg = "Log : " + msg + s
return msg
}
return ""
}
// **第一种输出格式**, 只有行号和自定义错误信息
//输出格式[Log] : dial Ok [47]
func AddLog(msg string) string {
_, _, line, ok := runtime.Caller(1)
s := ""
if ok {
t := time.Now()
s = " " + t.String() + " " + file + ":" + strconv.Itoa(line)
msg = "Log : " + msg + s
//logBuffer.Log = append(logBuffer.Log, msg)
return msg
}
return ""
}
// **第二种输出格式**, 包含当前LOG日志的日期,行号,文件,自定义错误信息
//输出格式为: [Log] : dial Ok 2017-03-17 13:45:38.4388648 +0800 CST F:/Go/src/socket_test_dial.go:45