Константа log.Lshortfile
Константа log.Lshortfile используется вместе с функцией
log.SetFlags для добавления в вывод логов короткого
имени файла и номера строки, откуда был вызван логгер.
Это полезно для быстрого определения места в коде, где
произошло логируемое событие.
Короткое имя файла включает только имя файла без пути к нему
(например, main.go), в отличие от константы
log.Llongfile, которая выводит полный путь.
Синтаксис
log.SetFlags(log.Lshortfile | log.Ldate | log.Ltime)
Константа log.Lshortfile может комбинироваться
с другими флагами с помощью побитового ИЛИ (|)
для настройки формата вывода.
Пример
Давайте настроим логгер на вывод короткого имени файла, даты и времени:
package main
import (
"log"
)
func main() {
log.SetFlags(log.Lshortfile | log.Ldate | log.Ltime)
log.Println("This is a test log message")
}
Результат выполнения кода:
"2026/09/04 15:30:45 main.go:9: This is a test log message"
В выводе мы видим короткое имя файла main.go
и номер строки 9, где был вызван логгер.
Пример
Давайте сравним вывод с log.Lshortfile
и без него:
package 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")
}
Результат выполнения кода:
"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 в комбинации
с другими полезными флагами:
package 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")
}
Результат выполнения кода:
"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,
которая устанавливает флаги для логгера