Функция log.Printf

Функция log.Printf из пакета log предназначена для вывода отформатированного сообщения в лог. В качестве первого параметра она принимает строку шаблона с форматными спецификаторами, а в качестве второго - набор значений для подстановки в этот шаблон. В отличие от функции fmt.Printf, которая выводит сообщение в стандартный вывод, log.Printf выводит сообщение в стандартный логгер с добавлением временной метки в начале каждой записи. Это делает ее особенно полезной для логирования работы приложения.

Синтаксис

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

Первый параметр format - это строка шаблона, содержащая текст и спецификаторы для подстановки значений. Второй параметр v...any - это переменное количество аргументов, значения которых будут подставлены в шаблон согласно спецификаторам.

Пример

Давайте выведем в лог простое информационное сообщение с использованием log.Printf:

gopackage main

import (
  "log"
)

func main() {
  name := "Alice"
  age := 30
  log.Printf("User %s is %d years old", name, age)
}

Результат выполнения кода:

go"2026/09/04 15:30:45 User Alice is 30 years old"

Обратите внимание, что сообщение автоматически дополняется временной меткой в формате "год/месяц/день часы:минуты:секунды".

Пример

Давайте используем различные спецификаторы формата для вывода значений разных типов:

gopackage main

import (
  "log"
)

func main() {
  message := "Server started"
  port := 8080
  isReady := true
  pi := 3.14159

  log.Printf("Message: %s, Port: %d", message, port)
  log.Printf("Ready: %t, Pi: %.2f", isReady, pi)
}

Результат выполнения кода:

go"2026/09/04 15:30:45 Message: Server started, Port: 8080"
"2026/09/04 15:30:45 Ready: true, Pi: 3.14"

Пример

Функция log.Printf может использоваться для логирования ошибок вместе с дополнительной информацией:

gopackage main

import (
  "errors"
  "log"
)

func main() {
  err := errors.New("connection refused")
  url := "https://example.com/api"

  if err != nil {
    log.Printf("Failed to connect to %s: %v", url, err)
  }
}

Результат выполнения кода:

go"2026/09/04 15:30:45 Failed to connect to https://example.com/api: connection refused"

Смотрите также

  • функцию log.Println,
    которая выводит сообщение в лог без форматирования
  • функцию log.Print,
    которая выводит сообщение в лог без форматирования и перевода строки
  • функцию log.Fatalf,
    которая выводит форматированное сообщение и завершает программу
  • функцию log.Panicf,
    которая выводит форматированное сообщение и вызывает панику