golang学习十八:日志

日志简介

  • • 使用开发工具时,控制台打印的信息就是日志信息

  • • 项目最终发布后是没有开发工具的,而需要记录日志应该把信息输出到文件中,这个功能也是日志的功能

  • • 在Go语言标准的log包提供了对日志的支持

  • • 有三种级别日志输出

    • • Print() 输出日志信息

    • • Panic() 打印日志信息,并触发panic,日志信息为Panic信息

    • • Fatal() 打印日志信息后调用os.Exit(1)

  • • 所有日志信息打印时都带有时间,且颜色为红色

  • • 每种级别日志打印都提供了三个函数

    • • Println()

    • • Print()

    • • Printf()

  • • 日志文件扩展名为log

普通日志信息打印

  • • 官方源码如下

func Println(...interface{}) {
    std.Output(2, fmt.Sprintln(v...))
}
  • • 直接使用log包调用Println()即可

log.Println("打印日志信息")

Panic日志信息打印

  • • 通过源码可以看出在日志信息打印后调用了panic()函数,且日志信息为panic信息

// Panicln is equivalent to Println() followed by a call to panic().
func Panicln(...interface{}) {
    s := fmt.Sprintln(v...)
    std.Output(2, s)
    panic(s)
}
  • • 执行后输出日志信息,同时也会触发panic

log.Panicln("打印日志信息")

致命日志信息

  • • 打印日志后,终止程序

// Fatal is equivalent to Print() followed by a call to os.Exit(1).
func Fatal(...interface{}) {
    std.Output(2, fmt.Sprint(v...))
    os.Exit(1)
}
  • • 执行日志打印后,程序被终止

log.Fatal("打印日志信息")

打印日志信息到文件中

  • • Go语言标准库支持输出日志信息到文件中.

  • • 输出日志时的几种状态

const (
    Ldate         = 1 << iota     // the date in the local time zone: 2009/01/23
    Ltime                         // the time in the local time zone: 01:23:23
    Lmicroseconds                 // microsecond resolution: 01:23:23.123123.  assumes Ltime.
    Llongfile                     // full file name and line number: /a/b/c/d.go:23
    Lshortfile                    // final file name element and line number: d.go:23. overrides Llongfile
    LUTC                          // if Ldate or Ltime is set, use UTC rather than the local time zone
    LstdFlags     = Ldate | Ltime // initial values for the standard logger
)
  • • 代码如下

    f, _ := os.OpenFile("D:/golog.log", os.O_APPEND|os.O_CREATE, 07777)
    defer f.Close()
    logger := log.New(f, "[info]t", log.Ltime)
    logger.Println("输出日志信息")


原文始发于微信公众号(杂食的程序员):golang学习十八:日志

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/247269.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!