因爲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