Spec-Zone.ru › Go

Пакет log

  • import "log"
  • Обзор
  • Индекс
  • Примеры
  • Подкаталоги

Обзор

Пакет log реализует простой пакет ведения журнала. Он определяет тип Logger с методами для форматирования вывода. Он также имеет предопределённый стандартный Logger, доступный через вспомогательные функции Print[f|ln], Fatal[f|ln] и Panic[f|ln], которые проще в использовании, чем создание Logger вручную. Этот логгер записывает в стандартный поток ошибок и выводит дату и время каждого сообщения журнала. Каждое сообщение журнала выводится на новой строке: если выводимое сообщение не заканчивается символом новой строки, логгер добавит его. Функции Fatal вызывают os.Exit(1) после записи сообщения журнала. Функции Panic вызывают panic после записи сообщения журнала.

Индекс

  • Константы
  • func Fatal(v ...any)
  • func Fatalf(format string, v ...any)
  • func Fatalln(v ...any)
  • func Flags() int
  • func Output(calldepth int, s string) error
  • func Panic(v ...any)
  • func Panicf(format string, v ...any)
  • func Panicln(v ...any)
  • func Prefix() string
  • func Print(v ...any)
  • func Printf(format string, v ...any)
  • func Println(v ...any)
  • func SetFlags(flag int)
  • func SetOutput(w io.Writer)
  • func SetPrefix(prefix string)
  • func Writer() io.Writer
  • тип Logger
  • func Default() *Logger
  • func New(out io.Writer, prefix string, flag int) *Logger
  • func (l *Logger) Fatal(v ...any)
  • func (l *Logger) Fatalf(format string, v ...any)
  • func (l *Logger) Fatalln(v ...any)
  • func (l *Logger) Flags() int
  • func (l *Logger) Output(calldepth int, s string) error
  • func (l *Logger) Panic(v ...any)
  • func (l *Logger) Panicf(format string, v ...any)
  • func (l *Logger) Panicln(v ...any)
  • func (l *Logger) Prefix() string
  • func (l *Logger) Print(v ...any)
  • func (l *Logger) Printf(format string, v ...any)
  • func (l *Logger) Println(v ...any)
  • func (l *Logger) SetFlags(flag int)
  • func (l *Logger) SetOutput(w io.Writer)
  • func (l *Logger) SetPrefix(prefix string)
  • func (l *Logger) Writer() io.Writer

Примеры

Logger
Logger.Output

Файлы пакета

log.go

Константы

Эти флаги определяют, какой текст предварять каждую запись журнала, генерируемую Logger. Блоки объединяются операцией OR для управления тем, что выводится. За исключением флага Lmsgprefix, нет контроля над порядком их появления (перечисленный здесь) или форматом представления (как описано в комментариях). Префикс сопровождается двоеточием только в том случае, если заданы Llongfile или Lshortfile. Например, флаги Ldate | Ltime (или LstdFlags) производят,

2009/01/23 01:23:23 message

в то время как флаги Ldate | Ltime | Lmicroseconds | Llongfile производят,

2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
const (
    Ldate         = 1 << iota     // the date in the local time zone: 2009/01/23
    Ltime                         // the time in the local time zone: 01:23:23
    Lmicroseconds                 // microsecond resolution: 01:23:23.123123.  assumes Ltime.
    Llongfile                     // full file name and line number: /a/b/c/d.go:23
    Lshortfile                    // final file name element and line number: d.go:23. overrides Llongfile
    LUTC                          // if Ldate or Ltime is set, use UTC rather than the local time zone
    Lmsgprefix                    // move the "prefix" from the beginning of the line to before the message
    LstdFlags     = Ldate | Ltime // initial values for the standard logger
)

func Fatal

func Fatal(v ...any)

Fatal эквивалентен Print с последующим вызовом os.Exit(1).

func Fatalf

func Fatalf(format string, v ...any)

Fatalf эквивалентен Printf с последующим вызовом os.Exit(1).

func Fatalln

func Fatalln(v ...any)

Fatalln эквивалентен Println с последующим вызовом os.Exit(1).

func Flags

func Flags() int

Flags возвращает флаги вывода для стандартного логгера. Флаги битов — Ldate, Ltime и так далее.

func Output 1.5

func Output(calldepth int, s string) error

Output записывает вывод для события ведения журнала. Строка s содержит текст для печати после префикса, заданного флагами Logger. Новая строка добавляется, если последний символ s не является уже новой строкой. Calldepth — это количество кадров, которые нужно пропустить при вычислении имени файла и номера строки, если установлен Llongfile или Lshortfile; значение 1 выведет подробности для вызывающей Output функции.

func Panic

func Panic(v ...any)

Panic эквивалентен Print с последующим вызовом panic().

func Panicf

func Panicf(format string, v ...any)

Panicf эквивалентен Printf с последующим вызовом panic().

func Panicln

func Panicln(v ...any)

Panicln эквивалентен Println с последующим вызовом panic().

func Prefix

func Prefix() string

Prefix возвращает префикс вывода для стандартного логгера.

func Print

func Print(v ...any)

Print вызывает Output для печати в стандартный логгер. Аргументы обрабатываются так же, как в fmt.Print.

func Printf

func Printf(format string, v ...any)

Printf вызывает Output для печати в стандартный логгер. Аргументы обрабатываются так же, как в fmt.Printf.

func Println

func Println(v ...any)

Println вызывает Output для печати в стандартный логгер. Аргументы обрабатываются так же, как в fmt.Println.

func SetFlags

func SetFlags(flag int)

SetFlags устанавливает флаги вывода для стандартного логгера. Флаги битов — Ldate, Ltime и так далее.

func SetOutput

func SetOutput(w io.Writer)

SetOutput устанавливает место назначения вывода для стандартного логгера.

func SetPrefix

func SetPrefix(prefix string)

SetPrefix устанавливает префикс вывода для стандартного логгера.

func Writer 1.13

func Writer() io.Writer

Writer возвращает место назначения вывода для стандартного логгера.

тип Logger

Logger представляет собой активный объект ведения журнала, который генерирует строки вывода в io.Writer. Каждая операция ведения журнала выполняет один вызов метода Write объекта Writer. Logger можно использовать одновременно из нескольких горутин; он гарантирует сериализацию доступа к Writer.

type Logger struct {
    // contains filtered or unexported fields
}

Пример

Код:

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

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

fmt.Print(&buf)

Вывод:

logger: example_test.go:19: Hello, log file!

func Default 1.16

func Default() *Logger

Default возвращает стандартный логгер, используемый функциями вывода пакета.

func New

func New(out io.Writer, prefix string, flag int) *Logger

New создаёт новый Logger. Переменная out устанавливает место назначения, в которое будут записываться данные журнала. Префикс появляется в начале каждой строки генерируемого журнала или после заголовка журнала, если задан флаг Lmsgprefix. Аргумент flag определяет свойства ведения журнала.

func (*Logger) Fatal

func (l *Logger) Fatal(v ...any)

Fatal эквивалентен l.Print() с последующим вызовом os.Exit(1).

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, v ...any)

Fatalf эквивалентен l.Printf() с последующим вызовом os.Exit(1).

func (*Logger) Fatalln

func (l *Logger) Fatalln(v ...any)

Fatalln эквивалентен l.Println() с последующим вызовом os.Exit(1).

func (*Logger) Flags

func (l *Logger) Flags() int

Flags возвращает флаги вывода для логгера. Флаги битов — Ldate, Ltime и так далее.

func (*Logger) Output

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

Output записывает вывод для события ведения журнала. Строка s содержит текст для печати после префикса, заданного флагами Logger. Новая строка добавляется, если последний символ s не является уже новой строкой. Calldepth используется для восстановления PC и предоставляется для общности, хотя на данный момент для всех предопределённых путей он будет равен 2.

Пример

Код:

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)

Вывод:

INFO: example_test.go:36: Hello world

func (*Logger) Panic

func (l *Logger) Panic(v ...any)

Panic эквивалентен l.Print() с последующим вызовом panic().

func (*Logger) Panicf

func (l *Logger) Panicf(format string, v ...any)

Panicf эквивалентен l.Printf() с последующим вызовом panic().

func (*Logger) Panicln

func (l *Logger) Panicln(v ...any)

Panicln эквивалентен l.Println() с последующим вызовом panic().

func (*Logger) Prefix

func (l *Logger) Prefix() string

Prefix возвращает префикс вывода для логгера.

func (*Logger) Print

func (l *Logger) Print(v ...any)

Print вызывает l.Output для печати в логгер. Аргументы обрабатываются так же, как в fmt.Print.

func (*Logger) Printf

func (l *Logger) Printf(format string, v ...any)

Printf вызывает l.Output для печати в логгер. Аргументы обрабатываются так же, как в fmt.Printf.

func (*Logger) Println

func (l *Logger) Println(v ...any)

Println вызывает l.Output для печати в логгер. Аргументы обрабатываются так же, как в fmt.Println.

func (*Logger) SetFlags

func (l *Logger) SetFlags(flag int)

SetFlags устанавливает флаги вывода для логгера. Флаги битов — Ldate, Ltime и так далее.

func (*Logger) SetOutput 1.5

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

SetOutput устанавливает место назначения вывода для логгера.

func (*Logger) SetPrefix

func (l *Logger) SetPrefix(prefix string)

SetPrefix устанавливает префикс вывода для логгера.

func (*Logger) Writer 1.12

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

Writer возвращает место назначения вывода для логгера.

Подкаталоги

Имя Описание
..
slog Пакет slog предоставляет структурированное ведение журнала, в котором записи журнала включают сообщение, уровень серьезности и различные другие атрибуты, выраженные в виде пар ключ-значение.
syslog Пакет syslog предоставляет простой интерфейс к службе системного журнала.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/log/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API