log 日志

log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法

func New 创建log对象

func New(out io.Writer, prefix string, flag int) *Logger
    logs := log.New(os.Stdout, "lcoal Log:", 0)


设置获取日志属性

  • func Flags 获取标识
    func (l *Logger) Flags() int
    fmt.Println( logs.Flags() )
  • func SetFlags 设置标识
    func (l *Logger) SetFlags(flag int)
    logs.SetFlags( 10 )
  • func Prefix 获取信息前缀
    func (l *Logger) Prefix() string
    logs.Prefix()
  • func SetPrefix 设置信息前缀
    func (l *Logger) SetPrefix(prefix string)
    logs.SetPrefix("err:")

日志输出

  • func Printf 输出格式化信息
    func (l *Logger) Printf(format string, v ...interface{})
    logs.Printf("nickname|%s age|%d", user.nickname, user.age)
  • func Println 带换行输出
    func (l *Logger) Println(v ...interface{})
  • func Print 普通输出
    func (l *Logger) Print(v ...interface{})

输出并退出

  • func Fatal 输出信息后将退出进程
    func (l *Logger) Fatal(v ...interface{}) // 等价 { logs.Println(info); os.Exit(1) }
  • func Fatalf 输出格式化信息后退出进程
    func (l *Logger) Fatalf(format string, v ...interface{})
  • func Fatalln 输出信息后将退出进程
    func (l *Logger) Fatalln(v ...interface{})

输出并 Panic

  • func Panic
    func (l *Logger) Panic(v ...interface{})
  • func Panicf
    func (l *Logger) Panicf(format string, v ...interface{})
  • func Panicln
    func (l *Logger) Panicln(v ...interface{})

使用模块方法

// 除了新建自定义日志对象,也可以直接通过log使用相关方法.

// 模块方法只是多出了 func SetOutput 用来设置日志输出
log.SetOutput(os.Stdout)
log.Println("run server")

// >>> 2019/06/05 00:15:44 run server