Очень классный пакет. Планируете TalkerScreen на русском сделать или какую-то возможность кастомизации самого виджета? Былоб очень круто, т.к. с логами на конкретном устройстве, возможно, и скорее всего, придётся работать юзерам которые...юзеры. Крч, на русском (ну, или каком-то другом родном для юзера) былоб проще им объяснить куда тыкать)))
Стас, спасибо большое за библиотеку Talker и обзор на неё! Полезно, ускоряет разработку и обучение! Было бы интересно узнать о том как правильно обрабатывать ошибки и делать это глобально. Например: у меня есть несколько http запросов и dio может вернуть ошибку (404, 500, другую) в любом из них. Есть экраны для уведомления пользователей, для каждой ошибки. Как сделать, чтобы не писать обработку этой ошибки после каждого вызова dio, сделать это в одном классе? Надо же как-то ещё удобно контекст пробросить...
Добрый день! Подскажите пожалуйста -- Можно ли как то использовать логгер для записи ошибок связанных не только с bloc и dio, при этом не оборачивая весь в try-catch? Так как кода очень много -- Можно ли как-то фильтровать информацию, которая попадает в TalkerScreen? То есть, чтобы она показывалась в консоли, а в TalkerScreen нет -- Как сделать так, чтобы wrapper показывался при каждой возникающей ошибке? Его нужно в observer положить?
приложение перестает запускается сразу после добавления зависимости talker_flutter: ^4.2.0 😪, причем даже не надо создавать экземпляр класса. С пакетом talker: ^4.2.0 все, кстати, нормально запускается.
Круто сделал! Экран со всеми логами классный, но больше для тестировщиков и для себя, чем для обычных юзеров. А если встроить толкер в боевую версию приложения, то есть какой-то метод отправки лога одной кнопкой и не показывать весь экран с логами (сорян, если в доке написано, ещё не глубоко изучил)? Например, у одного юзера ошибка, прям как ты описал в самом начале видео, и хочется понять, где именно она возникла и куда-то добавить одну кнопку, по которой отправляются логи да хоть post`ом к себе же на сервер.
Тоже очень нужна такая функциональность, чтоб продовый юзер не смотрел логи сам, а либо по кнопке отправлял, либо (как я хотел сделать) через BetterFeedback
Логгер крутой, но: 1) если в ответе бэка где есть кириллица, то отображается Data: "{\"timestamp\":\"2024-07-26 12:28:54\",\"code\":200,\"status\":true,\"data\":{\"message\":\"\\u041a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u0438 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0435\\u043d\\u044b \\u0443\\u0441\\u043f\\u0435\\u0448\\u043d\\u043e\",\"detail\":[{\"id\":1,\"name\":\"\\u041e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u044f\",\"icon\":\"favorite\",\"is_premium\":false,\"conversations_count\":16},{\"id\":2,\"name\":\"\\u0415\\u0434\\u0430\",\"icon\":\"fastfood\",\"is_premium\":false,\"conversations_count\":1},{\"id\":3,\"name\":\"\\u0421\\u0435\\u043c\\u044c\\u044f\",\"icon\":\"family_restroom\",\"is_premium\":false,\"conversations_count\":2},{\"id\":4,\"name\":\"\\u0421\\u043f\\u043e\\u0440\\u0442\",\"icon\":\"fitness_center\",\"is_premium\":false,\"conversations_count\":0},{\"id\":5,\"name\":\"\\u0417\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u044c\",\"icon\":\"smoking_rooms\",\"is_premium\":false,\"conversations_count\":1},{\"id\":6,\"name\":\"\\u0411\\u0438\\u0437\\u043d\\u0435\\u0441\",\"icon\":\"business\",\"is_premium\":false,\"conversations_count\":1},{\"id\":7,\"name\":\"\\u0420\\u0430\\u0437\\u0432\\u043e\\u0434\",\"icon\":\"broken_heart\",\"is_premium\":false,\"conversations_count\":1},{\"id\":8,\"name\":\"\\u0421\\u0435\\u043a\\u0441\",\"icon\":\"favorite_border\",\"is_premium\":true,\"conversations_count\":0}]}}" в не читаемом виде. Было бы неплохо обрабатывать этот момент. 2) в UI виджете списком выводится запросы (тело, хедер) + респонс (тело, хедер). ИМХО, удобней было бы: Статус code, url, время запроса и его продолжительность (разница между запросом и ответам по времени). По тапу на строку - открывался бы новый экран уже с детальной информацией по запросу. И на новом экране Json форматировать в pretty json 3) Было бы неплохо еще формировать CURL готовый (для быстрого перехода к "тестированию" в постмане) Самый топчик, было бы поправить именно первый пункт
Для русского: final prettyData = encoder.convert(data); заменить final prettyData = jsonDecode(data.replaceAll(r'\\u', r'\u')).toString(); Костыльно? Да, Верю, что сделаете лучше)
Каждый раз использую, лучший логер
Кайф! Я очень рад)
Я только начал учить flutter, но даже мне понятно, величия этого логгера
😅 спасибо большое!
Спасибо. Классное видео и классный логер. Жаль только вот интеграция его со сторонними сервисами типа крашлитики и т.д. не расскрыта.
Первый!
Очень классный пакет. Планируете TalkerScreen на русском сделать или какую-то возможность кастомизации самого виджета? Былоб очень круто, т.к. с логами на конкретном устройстве, возможно, и скорее всего, придётся работать юзерам которые...юзеры. Крч, на русском (ну, или каком-то другом родном для юзера) былоб проще им объяснить куда тыкать)))
Привет! Спасибо большое за отзыв, рассмотрю такой вариант кастомизации. Пока экран с логами - это больше для разработчиков, не для пользователей.
Стас, спасибо большое за библиотеку Talker и обзор на неё!
Полезно, ускоряет разработку и обучение!
Было бы интересно узнать о том как правильно обрабатывать ошибки и делать это глобально.
Например: у меня есть несколько http запросов и dio может вернуть ошибку (404, 500, другую) в любом из них. Есть экраны для уведомления пользователей, для каждой ошибки. Как сделать, чтобы не писать обработку этой ошибки после каждого вызова dio, сделать это в одном классе? Надо же как-то ещё удобно контекст пробросить...
Добрый день! Подскажите пожалуйста
-- Можно ли как то использовать логгер для записи ошибок связанных не только с bloc и dio, при этом не оборачивая весь в try-catch? Так как кода очень много
-- Можно ли как-то фильтровать информацию, которая попадает в TalkerScreen? То есть, чтобы она показывалась в консоли, а в TalkerScreen нет
-- Как сделать так, чтобы wrapper показывался при каждой возникающей ошибке? Его нужно в observer положить?
приложение перестает запускается сразу после добавления зависимости talker_flutter: ^4.2.0 😪, причем даже не надо создавать экземпляр класса. С пакетом talker: ^4.2.0 все, кстати, нормально запускается.
Круто сделал! Экран со всеми логами классный, но больше для тестировщиков и для себя, чем для обычных юзеров. А если встроить толкер в боевую версию приложения, то есть какой-то метод отправки лога одной кнопкой и не показывать весь экран с логами (сорян, если в доке написано, ещё не глубоко изучил)? Например, у одного юзера ошибка, прям как ты описал в самом начале видео, и хочется понять, где именно она возникла и куда-то добавить одну кнопку, по которой отправляются логи да хоть post`ом к себе же на сервер.
Тоже очень нужна такая функциональность, чтоб продовый юзер не смотрел логи сам, а либо по кнопке отправлял, либо (как я хотел сделать) через BetterFeedback
21:09 ahah
подскажи а как выводить в консоль только логи об ошибках
Привет! У Talker есть filter по типу и по тексту
А как ты делал приложение рифм? Какой там бек или api или как?
На канале есть плейлист "Пересборка", там подробно о реализации. Но да, используется api.
Бэк на чем пишешь?
Сейчас в основном на Golang, но и на питоне или js думаю руки ещё помнят как написать)
Звук в этом видео 📈📉📈📉📈📉📈📉
Когда же ты расскажешь почему ты не используешь flutterflow
Я уже понял что ты не отстанешь с Flutterflow 😅 На очереди видос про него, пока не забыл
@@frezycode хах😂 спасибо большое)
Топ болтовня получилась🤙
Да, нормально так вопросики обкашляши 🐗
7:43 скример
Логгер крутой, но:
1) если в ответе бэка где есть кириллица, то отображается
Data: "{\"timestamp\":\"2024-07-26 12:28:54\",\"code\":200,\"status\":true,\"data\":{\"message\":\"\\u041a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u0438 \\u043f\\u043e\\u043b\\u0443\\u0447\\u0435\\u043d\\u044b \\u0443\\u0441\\u043f\\u0435\\u0448\\u043d\\u043e\",\"detail\":[{\"id\":1,\"name\":\"\\u041e\\u0442\\u043d\\u043e\\u0448\\u0435\\u043d\\u0438\\u044f\",\"icon\":\"favorite\",\"is_premium\":false,\"conversations_count\":16},{\"id\":2,\"name\":\"\\u0415\\u0434\\u0430\",\"icon\":\"fastfood\",\"is_premium\":false,\"conversations_count\":1},{\"id\":3,\"name\":\"\\u0421\\u0435\\u043c\\u044c\\u044f\",\"icon\":\"family_restroom\",\"is_premium\":false,\"conversations_count\":2},{\"id\":4,\"name\":\"\\u0421\\u043f\\u043e\\u0440\\u0442\",\"icon\":\"fitness_center\",\"is_premium\":false,\"conversations_count\":0},{\"id\":5,\"name\":\"\\u0417\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u044c\",\"icon\":\"smoking_rooms\",\"is_premium\":false,\"conversations_count\":1},{\"id\":6,\"name\":\"\\u0411\\u0438\\u0437\\u043d\\u0435\\u0441\",\"icon\":\"business\",\"is_premium\":false,\"conversations_count\":1},{\"id\":7,\"name\":\"\\u0420\\u0430\\u0437\\u0432\\u043e\\u0434\",\"icon\":\"broken_heart\",\"is_premium\":false,\"conversations_count\":1},{\"id\":8,\"name\":\"\\u0421\\u0435\\u043a\\u0441\",\"icon\":\"favorite_border\",\"is_premium\":true,\"conversations_count\":0}]}}"
в не читаемом виде.
Было бы неплохо обрабатывать этот момент.
2) в UI виджете списком выводится запросы (тело, хедер) + респонс (тело, хедер).
ИМХО, удобней было бы:
Статус code, url, время запроса и его продолжительность (разница между запросом и ответам по времени).
По тапу на строку - открывался бы новый экран уже с детальной информацией по запросу.
И на новом экране Json форматировать в pretty json
3) Было бы неплохо еще формировать CURL готовый (для быстрого перехода к "тестированию" в постмане)
Самый топчик, было бы поправить именно первый пункт
Для русского:
final prettyData = encoder.convert(data);
заменить
final prettyData = jsonDecode(data.replaceAll(r'\\u', r'\u')).toString();
Костыльно? Да, Верю, что сделаете лучше)