420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
1

Альтернатива LogCat

09.11.2013, 07:15. Показов 6515. Ответов 27

Author24 — интернет-сервис помощи студентам
Работаю в студии, до этого был эклипс...

LogCat использую по полной, но он меня не устраивает (ни в Студии, ни в Эклипсе, ни в Идее)!!!

1) Без фильтра читать не возможно. Фильтр иногда слетает. В каждом проекте приходится задавать заново. При переоткрытии проекта фильтр по умолчанию убран.
2) Цветов, которые могу использовать, всего 5, расширить нельзя (для комфорта нужно хотя-бы 10-15). Нельзя задать несколько цветов в одной строке. Иногда хочется чтобы строку FF88FF в логах закрасило нужным цветом.
3) Кроме моего сообщения переданного из явы, я должен еще и видеть дату-время сообщения(зачем? полторы секунды назад?) и название фильтра, и название процесса-отправителя и код отправителя... Лишняя информация занимает до 50% длины окна. Сдвигать бесполезно - следующее сообщение возвращает прокрутку назад (в начало строки).
4) Шрифт быстро изменить не получается. Ни размер ни название.
5) Сложные фильтры не возможны (только рыжие и синие, два фильтра по тегам, наличие "или" фильтров по содержимому)
6) Окошко не отделимо от окна среды, а если отделить, то ведет себя не так как хотелось - поверх текста мешает, выпрыгивает само, сжимать бесполезно из-за лишнее информации. Хотелось бы задать прозрачность, приклеить к бортику, убрать бортики.

Теперь вопрос... Меня одного это не устраивает? Вы привыкли или Вас устраивает? Есть ли альтернативные разработки от сторонних разработчиков? Это проблема виндовых версий или в линуксе что-то по другому? Имеет смысл писать такое "для всех" или эта утилитка полезна только мне (встрою все настройки еще на этапе компиляции "под меня")?

Пока что нашел только консольную(дос-мод) разработку на питоне которая раскрашивает черно-белый лог и программа на самом андроиде выводящая этот лог на рабочий стол (бесполезна если тестируется МОЯ программа перекрывая экран)

Начал разбирать механизм LogCat под Windows... (Кстати многие ЗДЕСЬ работают под Линуксом, а не под Windows?) ... вроде технически не тяжело перехватить, обработать "по другому". Причем даже не мешая стандартному обработчику. Пока-что проблема возникла только с русскими символами (юникод в ДОСе)... Можно попробовать решить средствами Win. Можно перекодировать при передаче в анси, а в досе (Делфи) назад.

Яву (обьектную) еще знаю плохо - можно ли ПОДМЕНИТЬ android.util.Log в МОЕМ проекте своим классом Log, а из него вызывать стандартную обработку с уже измененной строкой? Или лучше создать нечто вроде MyLog?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2013, 07:15
Ответы с готовыми решениями:

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

LogCat
Здравствуйте. Подскажите как правильно читать лог/LogCat и определять где находится ошибка ? Вот...

Вывод LogCat
Вопрос заключается в следующем: пишу одно приложение, при этом использую опенгл. Логкет выдает...

Logcat на устройстве
Тестирую приложение, парсит сайт. На эмуляторе все проходит хорошо, а на телефоне иногда крашится в...

27
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
11.11.2013, 20:22  [ТС] 2
... не ожидал тишины в ветке! Я все еще хочу услышать Ваши мнения!!!!

1) Вас устраивает функционал встроенного LogCat?
2) Есть ли ему альтернатива (о которой я не слышал)?
3) Logcat под Win отличается от Linux?
4) Хотите поучаствовать в отладке альтернативной программы под Win?

...ожидал целую дискусию - от "а меня устраивает", "сначало было трудно, но теперь привык и менять ничего не хочу", "я вообще им не пользуюсь", "согласен с вашими перечисленными вами недостатками ... - остальное устраивает", "а мне в нем не нравится ... из не перечисленых".
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.11.2013, 00:08 3
Цитата Сообщение от Tester64 Посмотреть сообщение
1) Вас устраивает функционал встроенного LogCat?
устраивает
Цитата Сообщение от Tester64 Посмотреть сообщение
2) Есть ли ему альтернатива (о которой я не слышал)?
без понятия
Цитата Сообщение от Tester64 Посмотреть сообщение
3) Logcat под Win отличается от Linux?
без понятия
Цитата Сообщение от Tester64 Посмотреть сообщение
4) Хотите поучаствовать в отладке альтернативной программы под Win?
нет
1
Заблокирован
12.11.2013, 10:59 4
Я несколько раз садился писать развернутый ответ, но все время стирал текст.
Абсолютно согласен с V0v1k.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
13.11.2013, 00:16  [ТС] 5
Тему закрываю!

p.s. программа вполне готова. Как по мне - удобнее и быстрее...
0
66 / 56 / 6
Регистрация: 28.12.2011
Сообщений: 322
13.11.2013, 10:08 6
p.s. программа вполне готова. Как по мне - удобнее и быстрее...
т.е. все недостатки стокового LogCat вы превратили в плюшки в этой проге?

Меня встроенный LogCat устаивает целиком и полностью. Хочется взглянуть на вашу альтернативу, но работаю в Линукс поэтому увы...
0
1 / 1 / 0
Регистрация: 08.07.2015
Сообщений: 9
08.07.2015, 16:18 7
Работаю в IDEA под Windows. Стандартные средства logcat вообще не устраивают. Со всеми недостатками, кторые вы перечислили полностью согласен. Альтернативы пока не встречал. Как можно посмотреть вашу разработку (альтернативу logcat)? Очень интересно, могу помочь её в разработке.
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
10.07.2015, 09:49 8
Цитата Сообщение от Tester64 Посмотреть сообщение
p.s. программа вполне готова. Как по мне - удобнее и быстрее...
Это типа поматросил и бросил? Программа то где?
0
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
10.07.2015, 10:13 9
Цитата Сообщение от Rube Посмотреть сообщение
Это типа поматросил и бросил? Программа то где?
А еще лучше общее описание как можно получить логи своей программой)
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
10.07.2015, 20:29  [ТС] 10
Цитата Сообщение от Rube Посмотреть сообщение
Это типа поматросил и бросил? Программа то где?
(последнее время редко здесь бываю)
Получил столько отрицательных отзывов здесь и не только, что решил программу оставить только в личной коллекции... В опенсорс или во фри выкладывать передумал... Сильно местные испортили настроение!!! (местные "консольные линуксоиды")

Разработку остановил... на уровне удобном лишь мне. Там даже позиция adb намертво прописана (нужно каждый раз менять в настройках) и перезагрузку adb раз в несколько часов делаю почти в ручную. Руки не дошли до редактора настроек...
Редактор цветов и фильтров даже на поверхность не вывел для настроек юзером - встроен в на уровне кода Делфи.
ОЧЕНЬ полезной оказалась для чтения ДЛИННОГО лога из коротких сообщений. Я им отлаживал "ручной/рисованый" список. Когда куча потоков и куча сообщений валилось при каждой отрисовке каждой ячейки... Но... год назад слез с Делфи и проект приостановил... может перепишу на С++ но не скоро - я там новичок и времени столько нет, как в 2013м!

В программу встроена система лицензирования под хард (давно написал - много лет назад - вставляю во все свои проекты) - снимать не хочу (пока - все еще обижен на сообщество! ), но с несколькими могу поделиться результатом (в личку). Вместо Log.w использую свой отладочный класс Rep.r - короче и проще получилось. Еще нюанс (не стал вырезать ради "неблагодарных тестеров") - слово-фильтр прописано намертво - WLOGCAT. (день-два нужно отвязывать от жестких путей и тестить)

Цитата Сообщение от Spelcrawler Посмотреть сообщение
А еще лучше общее описание как можно получить логи своей программой)
Я еле еле смог скрытно перехватить консоль. Запустил адб из делфи как "привязанный/внутренний" поток. Сам получаю результат. То-ли получаю не правильно, то-ли поток "срывается", но после нескольких миллионов строк приходится нажимать кнопку "перегрузить". Но... когда разбирался нашел возможность пустить лог уже с простым фильтром в текстовик. В консольной версии на питоне находил "примочку" которая должна была раскрасить лог, но запустить не смог - похоже работала только под линукс...

Не по теме:

p.s. а в планах было сделать мега-отладочный "комбаин"... Когда-то подобный сделал под Делфи - потом годами использовал.. хех...

1
1 / 1 / 0
Регистрация: 08.07.2015
Сообщений: 9
11.07.2015, 08:44 11
Да ни слушай ты никого, инструмент который ты делал очень полезен. Большинству просто даже не с чем сравнить. Большенство пользуется средствами встроенными в IDE. Те кто пользуется напрямую через консоль

adb logcat [<Ключи>] [<фильтр>]

те наверно более менее довольны, т.к. там можно побольше настроить, хотя бы формат вывода.

Но всё равно чувствуется нехватка инструмента в этой области.
Если дать пощупать то думою многие бы отказались от того что используют. Я например не понимаю почему в IDEA до сих пор не обратили внимания на эту проблему... да они сделали там раскраску лога, фильтры, но всё раелизовано както не очень. Самое главное то что нельзя определить свой формат строки, там половина экрана занимает время вывода, имя пакета и это убрать никак нельзя (я про IDEA). Например:

07-11 06:42:31.543 21199-21199/org.fald.android.game D/myLogTag﹕ Hello LogCat

вот эта часть строки "07-11 06:42:31.543 21199-21199/org.fald.android.game" фактически не нужна в 99.99% случаев.


Ещё приведу тут небольшой фрагмент доки по abd logcat, кому-то пригодиться:

adb logcat [<Ключи>] [<фильтр>] Посмотреть логи с отладочной информацией:

Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V - Verbose (Низший приоритет).
D - Debug
I - Info
W - Warning
E - Error
F - Fatal
S - Silent (Наивысший приоритет, при котором ничего не выводится).

Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны <приоритет>/<тэг>.
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации <тэг> и <приоритет>, остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат <тэг>:<приоритет> ..., где <тэг> указывает нужный тэг, <приоритет> указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар <тэг>:<приоритет> в одном выражении фильтра. Для разделения пар <тэг>:<приоритет> используется пробел.

Пример ниже выводит в лог все сообщения с тэгом "ActivityManager" с приоритетом "Info" или выше, и сообщения с тэгом "MyApp" и приоритетом "Debug" или выше:
adb logcat ActivityManager:I MyApp *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет "silent" для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для "View" и "MyApp". Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается "белый список" сообщений, а *:S отправляет все остальное в "черный список").

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом "warning" или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS="ActivityManager:I MyApp *:S"

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v <format>]
Пример, который показывает сообщения в формате thread:
adb logcat -v thread
Нужно отметить, что можно использовать только один формат с параметром -v.

Просмотр альтернативного буфера лога

Система логов Android держит несколько кольцевых буферов для лога сообщений и не все сообщения отправляются в основной буфер. Для отображения дополнительных сообщений лога нужно запустить logcat с параметром -b.

Таким образом можно посмотреть один из альтернативных буферов:
radio Просмотр буфера с сообщениями связанными с радио/телефоном.
events Просмотр буфера с сообщениями связанными с событиями.
main Просмотр основного буфера (по умолчанию).

Пример ниже показывает буфер с радио и телефонными сообщениями:
adb logcat -b radio
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
11.07.2015, 14:22  [ТС] 12
Цитата Сообщение от mobrsa Посмотреть сообщение
Да ни слушай ты никого, инструмент который ты делал очень полезен. Большинству просто даже не с чем сравнить. Большенство пользуется средствами встроенными в IDE. Те кто пользуется напрямую через консоль
Ты почитай что мне ответили... И это было 2 года назад! За 2 года никто кроме Вас не поднимал эту тему... Небыло даже робких попыток узнать чего-же я добился... У меня почти 10 лет делфи - писал утилиты. Поэтому самым тяжелым было написать перехват результатов консоли и адаптировать свой компонент вьювера цветных строк...
Сейчас Делфи открываю лишь "по праздникам" - только ради поддержки проектов, которые требуют "кнопочку переставить" и "шрифт увеличить"...

По сути нехватает ОЧЕНЬ многих инструментов для отладки! Я например на 1С написал анализатор логов адб для отображения списка установленных алармов в читабельном виде... Планировал сделать скриншот с зумом для тонкой настройки графики. Планировал сделать "пульт управления" устройством/эмулятором через сокеты - убить проект из памяти, перезапустить, перегрузить устройство, удалить программу.
Планировал сделать полноценный дебюг таблиц... Иногда ОЧЕНЬ не хватает при разработке на больших курсорах... Даже вывести нечем, не говоря о том чтобы сравнивать...

2 года... я уже думал что я один такой... Уже даже забыл на чем остановился... Сейчас заново вспоминать придется(а я сейчас не имею столько времени). Открываю иногда когда надо вывести МНОГО сообщений на экран... Или запустить вывод сообщений на втором мониторе... (ноут=процессор+большой монитор как рабочий+клава+мышь, малый монитор от ноута для документов, отладки и мультимедии)
Вот мой скриншот: http://tester64.url.ph/wLogCat.jpg
Пусть обзавидуются линуксоиды...
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
11.07.2015, 19:14 13
Судя по скриншоту - там целый комбайн) я думал будет просто окошко с теговыми логами или erroraми.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
11.07.2015, 19:56  [ТС] 14
Цитата Сообщение от Rube Посмотреть сообщение
там целый комбайн)
Это ЗАГОТОВКА для комбайна! только в двух закладках полезное - во второй настройки!
Если логи однотипные и не очень длинные... И нужно скорее следить за их правильным порядком и что выбивается из порядка... самое то! На странице может поместиться до тысячи мелких сообщений. Можно рисовать многоцветные строки аля HTML. Можно управлять программой через особые строки-команды переданные в Log.w - свернуться, очиститься, развернуться, закрыться...

Начальная цель была убрать лишнее и поместить побольше строк на соседнем маленьком мониторе...

А в идеале избавиться от LogCat и сделать свой протокол передачи строк через сокеты. На сокетах и сломался... Вернее работало, но с сильными сбоями. Про сокеты задумался потом что каждая 100-200 строка переданная в консоль и переведенная из анси в юникод похоже "обрывается" и дублируется. Да и адб время от времени сам теряет связь с программой и надо запускать батник переподключения к IP. А я хотел сделать обычный надежный клиент-сервер с автоматическим переподключением (как скайп). И вывести на панельки (вроде той черной на скриншоте) кроме графика поступления строк логера и ошибок, еще и графики процессора и памяти... И вывести в винду список процессов с потреблением процессора и памяти. И установленые алармы и программы с размерами и доступами... Быстрая смена даты-времени в устройстве/эмуляторе для отладки напоминалки. Внешнее управление через скрипты сигналом передаваемым с GPS для отладки навигаторов. Попробовать имитировать нажатия кнопок внутри программ на устройствах для тестов по хитрым скриптам. Короче полноценный комбайн для тонкого управления отладкой и тестированием своих программ...

Скриншоты устройства через adb вроде понял как получать, но не нашел метода прочитать png в Делфи с возможностью править (например увеличить уголок для изучения "правильно ли линии нарисовались")... А потом необходимость "наводить красоту" в wLogCat пропала - без поддержки сообщества можно обойтись менее удобными средствами для редких для меня операций...

За год вполне мог довести до коммерческого уровня... Или уважаемой утилиты и зарабатывать на дотациях или рекламе. Сейчас уже не так интересно... Вот как можно убить интересный проект...
0
1 / 1 / 0
Регистрация: 08.07.2015
Сообщений: 9
13.07.2015, 15:26 15
Ну за 2 года многое изменилось. Стало больше разработчиков, этим разработчикам стало не хватать стандартных средств. По началу же как... изучаем Android, смотрим что да как, привыкаем. После J2ME от инструментов отладки в Andoid просто балдеешь, я до этого лет 5-6 писал под J2ME, там вообще сложно получить какой либо лог сразу с устройства, да ещё и на разных устройствах всё по разному. С переходом на Android в этом плане всё изменилось в лучшую сторону. Мне тоже стандартных средств LogCat вполне хватало сначала. Но чем дальше тем больше хочется )

Думою какой-то супер-пупер комбайн не нужен. Лучше сосредоточиться на чём то одном и не распыляться, за то сделать это максимум хорошо.

Опишу одну идею, что бы мне реально хотелось от инструмента LogCat:

Установка настроек фильтрации и отображения лога (назовём это профиль) при помощи отправки специального сообщения в сам лог. То есть мы в каком то месте программы (например в Application.onCreate()) пишем что-то типа этого: Log.v(LOG_TAG, "wLogCat_setup: json{'filter':{...}, 'colors':{...}, ...}");
В общем смысл в том, чтобы иметь возможность автоматом настраивать для каждого приложения.
Почему так удобнее:
- не нужно вечно менять фильтры и настройки для разных приложений или разных режимов работы приложения
- можно автоматом устанавливать pid процесса, а то он каждый раз меняется если переустанавливать приложение, и приходиться его каждый раз смотреть и вставлять в фильтр. IDE это делают автоматом конечно, но иногда нужно посмотреть лог приложения установив его не через IDE а обычным способом (через интернет например).
- В процессе работы программы можно менять настройки фильтра, например иногда бывает ситуация, когда нужно ловить лог не от своего приложения, а от компонентов системы Android... например WebView кидает в лог полезную инфу по работа javascript, но со своим LOG_TAG. Хорошо сделать так чтобы какой-то кусок программы отображался по своему в logCat.

Чтото ещё хотел.. но пока забыл, вспомню напишу.

В общем если будет желание и возможности то стоит продолжать работу в этом направлении, потому что инструментов явно не хватает кто бы что тебе не говорил, особенно 2 года назад, так что по этому поводу вообще не заморачивайся. Если будет желание написать с нуля на Java то я могу помочь. Могу и на С++ помочь (стаж был 6 лет) но уже не писал на нём года 3, так что уже сложнее. Можно как вариант попробовать написать плагин для IDEA, было бы супер вообще )
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.07.2015, 12:05  [ТС] 16
Хочу вообще избавиться от логкэт! Он сильно глючный и тормозной (как и большинство инструментов гугла). У меня умирает каждый час-три связь и приходится перзапускать adb

Планирую написать аналог на сокетах между андроидом и виндой на С++. Полноценный менеджер с самопереконектом на потерю связи. Тогда смогу из своей программы не только лог передавать, но и скриншоты и таблицы и файлы... Но в С++ еще новичок. Сейчас только подбираюсь к boost...

p.s. а зачем глобально менять цвета? моя программа поддерживает передачу строк любого цвета или строк в формате близком к html.

И зачем нужны фильтры? я их не переключал за 2 года кодинга. Понятно что это полезно для разработки в команде... но я лишние строки просто ремарю когда они уже "отработаны"..
0
1 / 1 / 0
Регистрация: 08.07.2015
Сообщений: 9
14.07.2015, 13:42 17
Не совсем понял что значит без logcat и на на сокетах. Ты имеешь ввиду чтобы андройд-программа использовала какой-то специальный свой фреймворк, который через сокет-соединение коннектится к серверу (на локальной машине) и отдавала все логи туда?
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.07.2015, 14:22  [ТС] 18
Цитата Сообщение от mobrsa Посмотреть сообщение
Ты имеешь ввиду чтобы андройд-программа использовала какой-то специальный свой фреймворк, который через сокет-соединение коннектится к серверу (на локальной машине) и отдавала все логи туда?
Типа того. Один отладочный класс. Подключается в отладочную программу. И либо через другую установленную андроид-программу(предпочтительнее, убрав можно отключить лог, может работать оффлайн, может сам снимать скриншоты и переустанавливать отладочные программы), либо через свою-же библиотеку(apk будет иметь больше размер и чуть дольше собираться, но быстрее отсылка логов) отсылает логи отладчику. В моей программе и так это уже почти реализовано - я заменил Log.w на свою "оболочку" - класс Rep понятный еще и моей виндовой программе. Например Rep.hide(); по идее должна была свернуть виндовую программу в трей. А Rep.rcur(Cursor cursor) рисует в логе табличку из курсора вместе с шапкой и названиями полей.

Было время я это почти сделал на Делфи. Но надежность сокетов мне не понравилась - тормозила, часто передавала часть пакета... Теперь хочу суперкачественно на С++... За одно буду иметь разработку для работы с сокетами на андроиде - полезный навык... Много где еще может пригодиться...

Я НЕ доверяю adb!!! Он иногда теряет строки! Или передает дважды после оборванной части. Не знаю кто виноват - мой перехватчик, ansi2unicode преобразователь или сам adb! Время от времени связь просто рвется! Причин не знаю. Приходится перезапускать! Специально для этого сделал трей-программу которая запускает батник с "%ADB% connect 192.168.56.101:5555" при нажатии на F10 (глобальный хот-кей)... это раздражает...
0
1 / 1 / 0
Регистрация: 08.07.2015
Сообщений: 9
14.07.2015, 18:45 19
Идея интересная.
Но тут надо разделять задачи:
1) транспортный уровень (это сокеты, logcat, ...), общем по какому каналу передаются данные
2) реализация разных фичь по отображению данных, например курсоров, или состояние объектов(чтото типа var_dump())...

Вот пункт (2) по сути в данном случае решающий, тут уже фантазия может разгуляться, от него зависит основной успех. Можно сделать очень удобный инструмент совершенно нового уровня. А транспорт тут особо роли не играет, в идеале хорошо бы сделать и то и то. И ещё... от logcat отказаться не получится в любом случае по следующим причинам:
- куча сторонних библиотек используют вывод в LogCat, не будешь же все заменять на Rep.warn()
- в Logcat сыпется полезная инфа от других компонентов, например от WebView, как я уже писал.

Поэтому тут надо както подумать чтобы и то и то поддерживать. А то получится что будет не очень удобно смотреть и в logcat и в твой инструмент одновременно. Я понимаю, что у каждого свои задачи, комуто в данном случае не нужен будет logcat, но если ориентироваться на глобальность то без logcat пока никуда.

Добавлено через 4 минуты
И кстати, все фреймворки по логированию умеют отправлять логи на сервер (есть специальные Writer-ы), не знаю сокеты есть или нет но по http точно. Но они все оперируют только строками. А вот если бы можно было курсоры кидать... это было бы продвижение.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
14.07.2015, 21:06  [ТС] 20
Цитата Сообщение от mobrsa Посмотреть сообщение
И ещё... от logcat отказаться не получится в любом случае по следующим причинам:
- куча сторонних библиотек используют вывод в LogCat, не будешь же все заменять на Rep.warn()
- в Logcat сыпется полезная инфа от других компонентов, например от WebView, как я уже писал.
Мне еще не приходилось отлаживать чужие библиотеки... Надеюсь что там и так все нормально работает...

Цитата Сообщение от mobrsa Посмотреть сообщение
А то получится что будет не очень удобно смотреть и в logcat и в твой инструмент одновременно.
Я сейчас смотрю в оба инструмента - мой полезен для ОГРОМНОГО количества строк (вполне можно догадаться на 1000 записей на экране и читабельно на 300х-400х). Поддержка сложных цветов. (пока все).

А в основном проще ловить ГЛОБАЛЬНЫЕ ошибки. Те что останавливают код! До 50 строк дикого "кликабельного" лога, который прямо привязан к тексту и открывает нужные классы на нужных строках. Это я не смогу подделать! Это только плагином в Idea (не охота еще и к IDE привязываться).

Прелесть сокетов с оффлайном еще и в том, я могу дать тестеру прогу, он весь день ходит с ней в оффлайне и ловит ошибки. А вечером отправляет моему сокет-серверу.

Про веб тоже думал... Отказался! Во первых это не ОНЛАЙН! Это "запросы". То-есть моя программа на винде не мгновенно получит строку, а будет опрашивать сервер раз в... 0.1-3 секунды... нагрузка на сервер дикая! А сокет может почти "спать" пока не получит пакет. (продумывал его еще и "пинговать" для удержания связи). Можно будет повесить как на винду, так и на хостинг. Но для отладки полезнее винда! Опять-же я всегда смогу увидеть зеленую лампочку в трее при появлении сети с устройством и красную при потери.

Цитата Сообщение от mobrsa Посмотреть сообщение
Но тут надо разделять задачи:
Я знаю! Но смысл писать на логкэт, если ТОЧНО знаю что у меня он подглючивает! Опять-же я не собираюсь на 100% отказываться от класики (логкэт)! На нем удобнее смотреть не мои логи!

Кстати... еще думал над таким вариантом:
Вы в курсе, что можно на андроиде увидеть логкэт строки???
Я видел код как это перехватывать!
Почему моя программа не может перехватывать adb и транслировать его в сокет...

Я поэтому и прервал проект - транспортный уровень хромал...
Передачу курсоров реализовать не сложно! Я это делал в логкэт ОДНОЙ командой! Одна для шапки. Одна для шапки+записи(тяжело понять какое поле какому полю принадлежит - все сжимается, но компактно на небольшую таблицу). И одна для вывода по записям:
поле:[тип]значение1
поле2:[тип]значение1

поле:[NULL]
поле2:[тип]значение2

поле:[тип]значение3
поле2:[тип]значение3

Для простого анализа хватает, но хотелось бы в нормальную таблицу(грид) загнать... с цветами по типам или/и по изменениям. Можно закладки для быстрого сравнения и поиска отличий...

... но... сначала нормальный "транспорт"! (а это на долго - неделю-две ОЧЕНЬ тяжелой работы и тестов не отвлекаясь на другое) Сейчас нет времени... да и критической необходимости...
0
14.07.2015, 21:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2015, 21:06
Помогаю со студенческими работами здесь

Ошибки в logcat
День добрый! Решил написать простенькое приложение вот с этого примера...

Ошибки LogCat
Ребят прошу у вас помощи, все никак не могу разобраться с ошибками, при запуске приложения сразу...

Не работает logcat
Добрый день. Когда-то давно (год назад) logcat работал на устаревшей версии Android Studio....

Таймстампы в Logcat
Откуда берет время Logcat в Android studio? На телефоне подключенном к компу - стоит дата...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru