Константа log.Lshortfile

Константа log.Lshortfile используется вместе с функцией log.SetFlags для добавления в вывод логов короткого имени файла и номера строки, откуда был вызван логгер. Это полезно для быстрого определения места в коде, где произошло логируемое событие.

Короткое имя файла включает только имя файла без пути к нему (например, main.go), в отличие от константы log.Llongfile, которая выводит полный путь.

Синтаксис

golog.SetFlags(log.Lshortfile | log.Ldate | log.Ltime)

Константа log.Lshortfile может комбинироваться с другими флагами с помощью побитового ИЛИ (|) для настройки формата вывода.

Пример

Давайте настроим логгер на вывод короткого имени файла, даты и времени:

gopackage main

import (
  "log"
)

func main() {
  log.SetFlags(log.Lshortfile | log.Ldate | log.Ltime)
  log.Println("This is a test log message")
}

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

go"2026/09/04 15:30:45 main.go:9: This is a test log message"

В выводе мы видим короткое имя файла main.go и номер строки 9, где был вызван логгер.

Пример

Давайте сравним вывод с log.Lshortfile и без него:

gopackage main

import (
  "log"
)

func main() {
  // Без флага Lshortfile
  log.SetFlags(log.Ldate | log.Ltime)
  log.Println("Message without file info")

  // С флагом Lshortfile
  log.SetFlags(log.Lshortfile | log.Ldate | log.Ltime)
  log.Println("Message with file info")
}

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

go"2026/09/04 15:30:45 Message without file info"
"2026/09/04 15:30:45 main.go:13: Message with file info"

Пример

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

gopackage main

import (
  "log"
)

func main() {
  // Настройка на вывод короткого имени файла
  // и микросекунд
  log.SetFlags(log.Lshortfile | log.Lmicroseconds)
  log.Println("Log with microseconds")

  // Настройка на вывод короткого имени файла
  // и UTC времени
  log.SetFlags(log.Lshortfile | log.Ldate | log.Ltime | log.LUTC)
  log.Println("Log with UTC time")
}

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

go"main.go:9: 15:30:45.123456 Log with microseconds"
"2026/09/04 12:30:45 main.go:13: Log with UTC time"

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

  • константу log.Llongfile,
    которая выводит полный путь к файлу
  • константу log.Ldate,
    которая добавляет дату в вывод логов
  • константу log.Ltime,
    которая добавляет время в вывод логов
  • функцию log.SetFlags,
    которая устанавливает флаги для логгера