📖 Логгирование в GoLang
Ещё в июне вышел релиз кандидат GoLang 1.21. Зацепила в нём меня одна вещь: log/slog. Да, в Go добавляют пакет для человеческого логгирования.
Для тех, кто слабо знаком в го, уточню, что до этого момента в стандартной библиотеке Go был логгер. Но, грубо говоря, он содержал пару методов для вывода. Естественно, мало для какого серьёзного приложения этого было бы достаточно, поэтому появилось множетсов библиотек. Я обычно использовал zerolog.
Лично мне не хватало своеобразной стандартизации. Как, например, в питоне. Логгер в стандартной библиотеке питона очень мощный и вполне пригоден к использованию без каких-либо библиотек.
Теперь и в Go будет логгер, который позволит писать подробные логи. В стандартной библиотеке уже реализован JSON логгер (помимо обычного), что не мало важно, ибо json логги используются очень часто (мне кажется даже чаще обычных текстовых) для отправки в бд и агрегирования через какую-нибудь графану.
Slog прост и минималистичен, при этом очень гибок и настраеваем. В общем-то, всё как мы в любим в Go. Осталось дать немного времени камьюнити реализовать красивых хендлеров, как например этот, который делает очень красивые человеко-читаемые логи в консоли, мидлварей для логгирования запросов, как здесь и прочих приколов
Ещё в июне вышел релиз кандидат GoLang 1.21. Зацепила в нём меня одна вещь: log/slog. Да, в Go добавляют пакет для человеческого логгирования.
Для тех, кто слабо знаком в го, уточню, что до этого момента в стандартной библиотеке Go был логгер. Но, грубо говоря, он содержал пару методов для вывода. Естественно, мало для какого серьёзного приложения этого было бы достаточно, поэтому появилось множетсов библиотек. Я обычно использовал zerolog.
Лично мне не хватало своеобразной стандартизации. Как, например, в питоне. Логгер в стандартной библиотеке питона очень мощный и вполне пригоден к использованию без каких-либо библиотек.
Теперь и в Go будет логгер, который позволит писать подробные логи. В стандартной библиотеке уже реализован JSON логгер (помимо обычного), что не мало важно, ибо json логги используются очень часто (мне кажется даже чаще обычных текстовых) для отправки в бд и агрегирования через какую-нибудь графану.
Slog прост и минималистичен, при этом очень гибок и настраеваем. В общем-то, всё как мы в любим в Go. Осталось дать немного времени камьюнити реализовать красивых хендлеров, как например этот, который делает очень красивые человеко-читаемые логи в консоли, мидлварей для логгирования запросов, как здесь и прочих приколов