首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

log

  • import "log"
  • 概述
  • 索引
  • 示例
  • 子目录

概述

Log 包实现了一个简单的日志包。它定义了一个类型,记录器,用于格式化输出的方法。它还有一个预定义的“standard”记录器,可以通过帮助函数 Printf|ln,Fatalf|ln 和 Panicf|ln 访问,比手动创建记录器更易于使用。该记录器写入标准错误并打印每条记录的消息的日期和时间。每条日志消息都在一个单独的行上输出:如果正在打印的消息不以换行符结尾,则记录器将添加一条。写入日志消息后,致命函数调用 os.Exit(1) 。写入日志消息后, Panic 函数调用 panic 。

索引

  • 常量
  • func Fatal(v ...interface{})
  • func Fatalf(format string, v ...interface{})
  • func Fatalln(v ...interface{})
  • func Flags() int
  • func Output(calldepth int, s string) error
  • func Panic(v ...interface{})
  • func Panicf(format string, v ...interface{})
  • func Panicln(v ...interface{})
  • func Prefix() string
  • func Print(v ...interface{})
  • func Printf(format string, v ...interface{})
  • func Println(v ...interface{})
  • func SetFlags(flag int)
  • func SetOutput(w io.Writer)
  • func SetPrefix(prefix string)
  • type Logger
  • func New(out io.Writer, prefix string, flag int) *Logger
  • func (l *Logger) Fatal(v ...interface{})
  • func (l *Logger) Fatalf(format string, v ...interface{})
  • func (l *Logger) Fatalln(v ...interface{})
  • func (l *Logger) Flags() int
  • func (l *Logger) Output(calldepth int, s string) error
  • func (l *Logger) Panic(v ...interface{})
  • func (l *Logger) Panicf(format string, v ...interface{})
  • func (l *Logger) Panicln(v ...interface{})
  • func (l *Logger) Prefix() string
  • func (l *Logger) Print(v ...interface{})
  • func (l *Logger) Printf(format string, v ...interface{})
  • func (l *Logger) Println(v ...interface{})
  • func (l *Logger) SetFlags(flag int)
  • func (l *Logger) SetOutput(w io.Writer)
  • func (l *Logger) SetPrefix(prefix string)

示例

Logger Logger.Output

包文件

常量

这些标志定义了哪些文本要加入由Logger生成的每个日志条目。

const (
        // Bit 或'ed 一起控制什么打印。
        // 无法控制它们出现的顺序(列出的顺序)
        // 这里)或他们提出的格式(如注释中所述)。
        // 仅当Llongfile或Lshortfile时,前缀后跟冒号
        // 已指定。
        // 例如,标志Ldate|Ltime(或LstdFlags)产生,
        //	2009/01/23 01:23:23 信息
        // 而标志Ldate | Ltime | Lmicroseconds | Llongfile生成,
        //	2009/01/23 01:23:23.123123 /a/b/c/d.go:23: 信息
        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
        LUTC                          // 如果设置了日期或时间,请使用UTC而不是本地时区
        LstdFlags     = Ldate | Ltime // 标准记录器的初始值
)
func Fatal(v ...interface{})

Fatal 等同于 Print(),然后调用 os.Exit(1)。

func Fatalf(format string, v ...interface{})

Fatalf 等同于 Printf(),然后调用os.Exit(1)。

func Fatalln(v ...interface{})

Fatalln 等同于 Println(),然后调用os.Exit(1)。

func Flags() int

标志返回标准记录器的输出标志。

func Output(calldepth int, s string) error

输出写入记录事件的输出。字符串 s 包含要在记录器的标志指定的前缀之后打印的文本。如果 s 的最后一个字符不是换行符,则会追加换行符。 Calldepth 是在设置 Llongfile 或 Lshortfile 时计算文件名和行号时跳过的帧;值为1将 打印 Output 的调用者的详细信息。

func Panic(v ...interface{})

Panic 等同于 Print(),然后调用 panic()。

func Panicf(format string, v ...interface{})

Panicf 相当于 Printf(),然后调用 panic()。

func Panicln(v ...interface{})

Panicln 相当于 Println(),然后调 用panic()。

func Prefix() string

前缀返回标准记录器的输出前缀。

func Print(v ...interface{})

打印调用打印输出到标准记录器。参数 以 fmt.Print 的方式处理。

func Printf(format string, v ...interface{})

Printf 调用输出以打印到标准记录器。参数以 fmt.Printf 的方式处理。

func Println(v ...interface{})

Println 调用输出打印到标准记录器。参数以 fmt.Println 的方式处理。

func SetFlags(flag int)

SetFlags 设置标准记录器的输出标志。

func SetOutput(显示源文件)

func SetOutput(w io.Writer)

SetOutput 设置标准记录器的输出目的地。

func SetPrefix(显示源文件)

func SetPrefix(prefix string)

SetPrefix 设置标准记录器的输出前缀。

Logger 表示一个活动日志记录对象,它可以向 io.Writer 生成输出行。每个日志记录操作都会对Writer的Write方法进行一次调用。记录器可以在多个 goroutines 中同时使用; 它保证序列化对 Writer 的访问。

type Logger struct {
        // 包含已过滤或未导出的字段
}

示例

package main

import (
	"bytes"
	"fmt"
	"log"
)

func main() {
	var (
		buf    bytes.Buffer
		logger = log.New(&buf, "logger: ", log.Lshortfile)
	)

	logger.Print("Hello, log file!")

	fmt.Print(&buf)
}
func New(out io.Writer, prefix string, flag int) *Logger

新建了一个新的记录器。out 变量设置将写入日志数据的目标。前缀出现在每个生成的日志行的开头。标志参数定义了日志记录属性。

func (*Logger) Fatal(显示源文件)

func (l *Logger) Fatal(v ...interface{})

致命等同于 l.Print(),然后调用 os.Exit(1)。

func (*Logger) Fatalf(显示源文件)

func (l *Logger) Fatalf(format string, v ...interface{})

Fatalf 等同于 l.Printf(),然后调用 os.Exit(1)。

func (*Logger) Fatalln(显示源文件)

func (l *Logger) Fatalln(v ...interface{})

Fatalln 相当于 l.Println(),然后调用 os.Exit(1)。

func (*Logger) Flags(显示源文件)

func (l *Logger) Flags() int

标志返回记录器的输出标志。

func (*Logger) Output(显示源文件)

func (l *Logger) Output(calldepth int, s string) error

输出写入记录事件的输出。字符串s包含要在记录器的标志指定的前缀之后打印的文本。如果s的最后一个字符不是换行符,则会追加换行符。Calldepth 用于恢复 PC 并提供通用性,但目前在所有预定义路径上它将为2。

示例

package main

import (
	"bytes"
	"fmt"
	"log"
)

func main() {
	var (
		buf    bytes.Buffer
		logger = log.New(&buf, "INFO: ", log.Lshortfile)

		infof = func(info string) {
			logger.Output(2, info)
		}
	)

	infof("Hello world")

	fmt.Print(&buf)
}

func (*Logger) Panic(显示源文件)

func (l *Logger) Panic(v ...interface{})

Panic 等同于 l.Print(),然后调用 panic()。

func (*Logger) Panicf(显示源文件)

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

Panicf 相当于 l.Printf(),然后调用 panic()。

func (*Logger) Panicln(显示源文件)

func (l *Logger) Panicln(v ...interface{})

Panicln 相当于 l.Println(),然后调用 panic()。

func (*Logger) Prefix(显示源文件)

func (l *Logger) Prefix() string

前缀返回记录器的输出前缀。

func (*Logger) Print(显示源文件)

func (l *Logger) Print(v ...interface{})

打印调用 l.Output 打印到记录器。参数以 fmt.Print的方式处理。

func (*Logger) Printf(显示源文件)

func (l *Logger) Printf(format string, v ...interface{})

Printf 调用 l.Output 打印到记录器。参数以 fmt.Printf 的方式处理。

func (*Logger) Println(显示源文件)

func (l *Logger) Println(v ...interface{})

Println 调用 l.Output 打印到记录器。参数以 fmt.Println 的方式处理。

func (*Logger) SetFlags(显示源文件)

func (l *Logger) SetFlags(flag int)

SetFlags 设置记录器的输出标志。

func (*Logger) SetOutput(显示源文件)

func (l *Logger) SetOutput(w io.Writer)

SetOutput 设置记录器的输出目的地。

func (*Logger) SetPrefix(显示源文件)

func (l *Logger) SetPrefix(prefix string)

SetPrefix 设置记录器的输出前缀。

子目录

名称

概述

syslog

软件包系统日志为系统日志服务提供了一个简单的界面。

扫码关注腾讯云开发者

领取腾讯云代金券