golang log日志笔记

日志是程序中比较重要的信息,但有时又不想输出到屏幕上。下面就对golang中把日志输出到指定文件做如下记录:

package main

import (
"flag"
"fmt"
"log"
"os"
)

var (

logF = flag.String("log", "test.log", "Log file name")  //将运行时参数 地址 绑定到logF 运行时没带参数默认logF为test.log
)


func main() {
flag.Parse() //解析参数付给logF
outfile, err := os.OpenFile(*logF, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666) //打开文件,若果文件不存在就创建一个同名文件并打开
if err != nil {
fmt.Println(*outfile, "open failed")
os.Exit(1)
}
log.SetOutput(outfile)  //设置log的输出文件,不设置log输出默认为stdout
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) //设置答应日志每一行前的标志信息,这里设置了日期,打印时间,当前go文件的文件名
 
//write log
log.Printf("test out:%v \n", "test log") //向日志文件打印日志,可以看到在你设置的输出文件中有输出内容了
}

文件保存为test.go

运行为:log

go run  test.go -log test.log   或者 go run test.go -log /绝对路径/文件名

可以去看日志了




扫描二维码关注公众号,回复: 2415789 查看本文章

猜你喜欢

转载自blog.csdn.net/teacher20133/article/details/76272359