Функция log.Flags
Функция log.Flags возвращает битовую маску текущих флагов,
установленных для стандартного логгера пакета log.
Эти флаги определяют, какая дополнительная информация будет
добавляться к каждой записи лога: дата, время, путь к файлу
и другие. Функция не принимает параметров и возвращает значение
типа int, представляющее собой комбинацию констант
флагов из пакета log.
Синтаксис
log.Flags()
Пример
Давайте получим текущие флаги стандартного логгера:
package main
import (
"log"
"fmt"
)
func main() {
flags := log.Flags()
fmt.Println(flags)
}
Результат выполнения кода:
"3"
Значение 3 означает, что установлены флаги
log.Ldate (1) и log.Ltime (2), что
соответствует стандартным настройкам логгера по умолчанию.
Пример
Давайте проверим, установлен ли конкретный флаг. Для этого используем битовую операцию И:
package main
import (
"log"
"fmt"
)
func main() {
flags := log.Flags()
hasDate := flags & log.Ldate
hasTime := flags & log.Ltime
hasLongFile := flags & log.Llongfile
fmt.Println(hasDate)
fmt.Println(hasTime)
fmt.Println(hasLongFile)
}
Результат выполнения кода:
"1"
"2"
"0"
Значение 1 указывает на наличие флага log.Ldate,
значение 2 — log.Ltime, а 0 означает,
что флаг log.Llongfile не установлен.
Пример
Давайте изменим флаги с помощью функции log.SetFlags
и затем получим их новое значение:
package main
import (
"log"
"fmt"
)
func main() {
log.SetFlags(log.LstdFlags | log.Lshortfile)
flags := log.Flags()
fmt.Println(flags)
}
Результат выполнения кода:
"7"
Значение 7 соответствует комбинации флагов
log.Ldate (1), log.Ltime (2) и
log.Lshortfile (4), которые вместе дают 7.
Смотрите также
-
функцию
log.SetFlags,
которая устанавливает флаги форматирования для логгера -
функцию
log.SetPrefix,
которая устанавливает префикс для записей лога -
функцию
log.Println,
которая выводит сообщение в лог с переходом на новую строку -
константу
log.LstdFlags,
которая содержит стандартный набор флагов для логгера