美文网首页
log包的使用

log包的使用

作者: yongfutian | 来源:发表于2019-01-09 14:49 被阅读0次

    log包的使用

    功能:log包实现了简单的日志服务。
       本包定义了Logger类型,该类型提供了一些格式化输出的方法。
       本包也提供了一个预定义的“标准”Logger,可以通过辅助函数Print[f|ln]、Fatal[f|ln]和Panic[f|ln]访问,比手工创建一个Logger对象更容易使用。
       Logger会打印每条日志信息的日期、时间,默认输出到标准错误。Fatal系列函数会在写入日志信息后调用os.Exit(1)。Panic系列函数会在写入日志信息后panic

    1、falg设置

    func Flags() int //Flags返回标准logger的输出选项
    func SetFlags(flag int) //SetFlags设置标准logger的输出选项
    

    2、前缀设置

    func Prefix() string //Prefix返回标准logger的输出前缀
    func SetPrefix(prefix string) //SetPrefix设置标准logger的输出前缀
    

    3、输出目的地设置

    func SetOutput(w io.Writer) //SetOutput设置标准logger的输出目的地,默认是标准错误输出
    

    4、logger类型
    Logger类型表示一个活动状态的记录日志的对象,它会生成一行行的输出写入一个io.Writer接口。每一条日志操作会调用一次io.Writer接口的Write方法。Logger类型的对象可以被多个线程安全的同时使用,它会保证对io.Writer接口的顺序访问

    const (
        // 字位共同控制输出日志信息的细节。不能控制输出的顺序和格式。
        // 在所有项目后会有一个冒号:2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
        Ldate         = 1 << iota     // 日期:2009/01/23
        Ltime                         // 时间:01:23:23
        Lmicroseconds                 // 微秒分辨率:01:23:23.123123(用于增强Ltime位)
        Llongfile                     // 文件全路径名+行号: /a/b/c/d.go:23
        Lshortfile                    // 文件无路径名+行号:d.go:23(会覆盖掉Llongfile)
        LstdFlags     = Ldate | Ltime // 标准logger的初始值
    )
    
    var buf bytes.Buffer
    logger := log.New(&buf, "logger: ", log.Lshortfile)
    logger.Print("Hello, log file!")
    fmt.Print(&buf)
    

    5、print系列函数

    func Print(v ...interface{}) //Print调用Output将生成的格式化字符串输出到标准logger,参数用和fmt.Print相同的方法处理
    func Printf(format string, v ...interface{}) //Printf调用Output将生成的格式化字符串输出到标准logger,参数用和fmt.Printf相同的方法处理。
    func Println(v ...interface{}) //Println调用Output将生成的格式化字符串输出到标准logger,参数用和fmt.Println相同的方法处理。
    

    6、Fatal系列函数

    func Fatal(v ...interface{}) //Fatal等价于{Print(v...); os.Exit(1)}
    func Fatalf(format string, v ...interface{}) //Fatalf等价于{Printf(v...); os.Exit(1)}
    func Fatalln(v ...interface{}) //Fatalln等价于{Println(v...); os.Exit(1)}
    

    7、Panic系列函数

    func Panic(v ...interface{}) //Panic等价于{Print(v...); panic(...)}
    func Panicf(format string, v ...interface{})
    func Panicln(v ...interface{})
    

    相关文章

      网友评论

          本文标题:log包的使用

          本文链接:https://www.haomeiwen.com/subject/dfcgrqtx.html