• 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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    前端性能优化-全链路质量监控体系建设
    前端性能优化-研发开发流程优化
    一次VLAN标签引发的网络事件的处置
    2001
    SpringBoot定时任务
    在el-dialog中使用ref找不到元素?
    el-table使用checkbox时,获取选中数据的id?
    SpringBoot邮件发送
    表单中el-select和el-input的长度不一致?
    element-ui如何修改el-dialog的样式?
  • 原文地址:https://www.cnblogs.com/ExMan/p/11836432.html
Copyright © 2020-2023  润新知