golang log日志笔记

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

日志是程序中比较重要的信息,但有时又不想输出到屏幕上。下面就对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 /绝对路径/文件名

可以去看日志了


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

本文来自:博客园

感谢作者:Czc963239044

查看原文:golang log日志笔记

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

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