golang 日志模块(log)

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


作者:直立猿
链接:https://www.jianshu.com/p/cb689fb715f9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted on 2019-11-11 16:41  ExplorerMan  阅读(475)  评论(0编辑  收藏  举报

导航