log包的使用

2019-01-09  本文已影响0人  yongfutian

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{})
上一篇下一篇

猜你喜欢

热点阅读