голанг

Пакет Golang Logrus

Пакет Golang Logrus

В този урок за пакета Logrus в Golang ще проучим различни примери за това колко ефективно може да се регистрира в Go и ще видим колко важни са дневниците в езика за програмиране Go. Сега ще започнем.

Започвайки с Go

Ето структурата на директориите, която направих за моята програма Hello World:

Ето програмата, която създадохме:

пакет основен
импортиране "fmt"
func main ()
fmt.Printf ("Здравей, свят.\н")

Можем да стартираме горната програма със следната команда:

иди тичай здравей.отивам

След като изпълним тази команда, ето резултата, който ще видите:

Сега това изглежда добре. Нека да преминем към основната ни програма.

Logrus пакет в Golang

За да започнем да използваме пакета Logrus в програмата Go, трябва вземете то. Изпълнете следната команда:

отидете да вземете -t github.com / Sirupsen / logrus

Когато започнем да използваме този пакет в IntelliJ, виждаме тази грешка, която можем да отстраним с едно щракване:

След като получите пакета, можем да започнем да го използваме. Нека започнем с проста програма.

Основно регистриране с Logrus

Ще започнем с много основен пример за регистриране на ниво INFO. Регистрацията може да се извърши с низови съобщения и метаданни под формата на двойки ключ-стойност, които изглеждат еднакви.

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

Когато стартираме тази програма, можем да видим следния изход:

Сега това е едновременно полезно и цветно!

Различни нива на регистрация

Сега ще опитаме друг пример, който ще покаже използването на различни нива на регистрация, налични в Logrus и като цяло. Те са:

Нека се опитаме да изградим програма и да видим как тези нива на дневника се различават, когато се появят в нашата програма:

пакет основен
внос (
log "github.com / Sirupsen / logrus "
)
func main ()
дневник.WithFields (log.Полета
"уебсайт": "linuxhint.com ",
"страхотно": 100,
).Информация ("Golang pro INFO съобщение")
дневник.WithFields (log.Полета
"уебсайт": "linuxhint.com ",
"страхотно": 100,
).Предупреждение ("Golang pro WARN съобщение")
дневник.WithFields (log.Полета
"уебсайт": "linuxhint.com ",
"страхотно": 100,
).Fatal ("Golang pro FATAL message")
дневник.WithFields (log.Полета
"уебсайт": "linuxhint.com ",
"страхотно": 100,
).Паника ("Golang pro PANIC съобщение")
дневник.WithFields (log.Полета
"уебсайт": "linuxhint.com ",
"страхотно": 100,
).Отстраняване на грешки ("Golang pro DEBUG message")

Когато стартираме тази програма, ще видим следния изход:

Забеляза нещо? Операторите на дневника след израза Fatal дори не се появяват в изхода ни. Това е така, защото веднага щом се получи фатална грешка, изпълнението на програмата спира в Golang.

Нека променим реда на тези изявления и проверим дали се наблюдават и някои промени в изхода:

Този път дори нивото на Panic Log реагира по същия начин, но изходът беше много различен и подробен.

С ниво на регистрация Panic се уверете, че достатъчно информация за хост машината също се отпечатва в изхода в конзолата, така че работата да може да бъде отстранена от грешки.

По-лесен начин за създаване на трупи

В горните обаждания дневниците бяха доста подробни и с метаданни. Има по-лесен начин да регистрирате вашите съобщения. Нека опитаме това сега:

пакет основен
внос (
log "github.com / Sirupsen / logrus "
)
func main ()
дневник.Отстраняване на грешки ("Отстраняване на грешки в данните тук.")
дневник.Информация („Съобщения за обща информация“)
дневник.Warn ("Трябва да погледнете това предупреждение!")
дневник.Грешка ("Нещо се провали, но програмата ще продължи.")
// Обажда се os.Излезте (1) след регистриране
дневник.Fatal („Отивам си.")
// Извиква panic () след регистриране
дневник.Паника („Няма да бъда отпечатана :(“)

Ето изхода за програмата:

Поведението при регистриране беше същото, но този път те бяха лесни за изпълнение само в един ред.

Заключение

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

Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...