Голанг

Пакет Голанг Логрус

Пакет Голанг Логрус

В этом уроке о пакете Logrus в Golang мы изучим различные примеры того, насколько эффективно ведение журнала может быть выполнено в Go, и посмотрим, насколько важны журналы в языке программирования Go. Мы начнем сейчас.

Начиная с Go

Вот структура каталогов, которую я создал для моей программы Hello World:

Вот созданная нами программа:

основной пакет
импорт "FMT"
func main ()
fmt.Printf ("Привет, мир.\ n ")

Мы можем запустить указанную выше программу с помощью следующей команды:

иди, беги, привет.идти

После того, как мы запустим эту команду, вы увидите результат:

Теперь это выглядит хорошо. Перейдем к нашей основной повестке дня.

Пакет Логрус на Голанге

Чтобы начать использовать пакет Логрус в программе Go, необходимо: получать Это. Выполните следующую команду:

иди иди -t github.com / Sirupsen / logrus

Когда мы начинаем использовать этот пакет в IntelliJ, мы видим эту ошибку, которую можно исправить одним щелчком мыши:

Как только вы получите пакет, мы сможем его использовать. Начнем с простой программы.

Базовое ведение журнала с Логрусом

Мы начнем с очень простого примера ведения журнала на уровне INFO. Ведение журнала может быть выполнено с помощью сообщений String и метаданных в виде пар ключ-значение, которые выглядят одинаково.

основной пакет
Импортировать (
журнал "github".com / Sirupsen / logrus "
)
func main ()
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
«помощь»: 200,
).Информация ("Golang pro")

Когда мы запускаем эту программу, мы можем увидеть следующий вывод:

Теперь это полезно и красочно!

Различные уровни ведения журнала

Теперь мы попробуем еще один пример, который покажет использование различных уровней ведения журнала, доступных в Логрусе и в целом. Они есть:

Давайте попробуем собрать программу и посмотрим, как эти уровни логов различаются, когда они появляются в нашей программе:

основной пакет
Импортировать (
журнал "github".com / Sirupsen / logrus "
)
func main ()
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
).Информация («Информационное сообщение Golang pro»)
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
).Предупреждение ("ПРЕДУПРЕЖДЕНИЕ Golang pro")
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
).Fatal ("Сообщение Golang pro FATAL")
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
).Паника ("сообщение Golang pro PANIC")
бревно.WithFields (журнал.Fields
"сайт": "linuxhint.com ",
"потрясающе": 100,
).Отладка («сообщение Golang pro DEBUG»)

Когда мы запустим эту программу, мы увидим следующий вывод:

Заметил кое-что? Операторы журнала после оператора Fatal даже не появляются в нашем выводе. Это связано с тем, что при получении фатальной ошибки выполнение программы останавливается в Golang.

Давайте изменим порядок этих операторов и проверим, наблюдаются ли также некоторые изменения в выводе:

На этот раз даже уровень журнала паники отреагировал таким же образом, но результат был совсем другим и подробным.

С помощью уровня журнала паники вы убедитесь, что достаточно информации о хост-машине также напечатано в выводе в консоли, чтобы работа была отлаживаемой.

Более простой способ делать журналы

В приведенных выше вызовах журналы были довольно подробными, а также с метаданными. Есть более простой способ регистрировать ваши сообщения. Давайте попробуем это сейчас:

основной пакет
Импортировать (
журнал "github".com / Sirupsen / logrus "
)
func main ()
бревно.Debug ("Отладочные данные здесь.")
бревно.Информация («Сообщения для общей информации»)
бревно.Warn ("Вы должны взглянуть на это предупреждение!")
бревно.Ошибка ("Что-то не удалось, но программа будет продолжена.")
// Вызов os.Выход (1) после регистрации
бревно.Fatal ("Я ухожу.")
// Вызывает panic () после регистрации
бревно.Паника ("Меня не напечатают :(")

Вот результат работы программы:

Поведение для ведения журнала было таким же, но на этот раз их было легко сделать всего в одной строке.

Заключение

В этом посте мы изучили простые, но полезные примеры того, как мы можем регистрировать важные сообщения с разной степенью серьезности и детальности в наших приложениях, используя пакет Logrus с Golang.

Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...
Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...