Різні методи є ознаками пріоритетності. Як ви перерахували їх, вони переходять від найменшого до найважливішого. Я думаю, як ви спеціально відображаєте їх для налагодження журналів у вашому коді, залежить від компонента чи програми, над якою ви працюєте, а також від того, як Android обробляє їх у різних смаках побудови (eng, userdebug та user). Я провів неабияку роботу в рідних демонах в Android, і ось так я це роблю. Він може не застосовуватися безпосередньо до вашої програми, але може бути певна спільна позиція. Якщо моє пояснення звучить невиразно, це тому, що дещо з цього є скоріше мистецтвом, ніж наукою. Моє основне правило - бути максимально ефективним, переконайтесь, що ви можете розумно налагоджувати свій компонент, не знищуючи продуктивність системи, і завжди перевіряти наявність помилок та реєструвати їх.
V - роздруківки стану через різні проміжки часу або за будь-яких подій, які відбуваються моїм компонентом. Можливо також дуже детальні роздруківки корисних навантажень повідомлень / подій, які мій компонент отримує або надсилає.
D - подробиці незначних подій, які відбуваються в моєму компоненті, а також корисні навантаження повідомлень / подій, які мій компонент отримує або надсилає.
Я - заголовок будь-яких повідомлень / подій, які мій компонент отримує або надсилає, а також будь-яких важливих фрагментів корисного навантаження, які мають вирішальне значення для роботи мого компонента.
W - все, що трапляється, є незвичним або підозрілим, але не обов'язково помилковим.
E - Помилки, тобто речі, які не повинні відбуватися, коли вони працюють як слід.
Найбільша помилка, яку я бачу у людей, полягає в тому, що вони зловживають такими речами, як V, D і я, але ніколи не використовують W або E. Якщо помилка, за визначенням, не повинна відбуватися, або повинна траплятися дуже рідко, то це надзвичайно дешево вам записати повідомлення, коли воно трапляється. З іншого боку, якщо кожен раз, коли хтось натискає клавішу, ви робите Log.i (), ви зловживаєте спільним ресурсом реєстрації. Звичайно, використовуйте здоровий глузд і будьте обережні з журналами помилок щодо речей, що не знаходяться під вашим контролем (наприклад, мережевих помилок) або тих, що містяться в тісних петлях.
Можливо, погано
Log.i("I am here");
Добре
Log.e("I shouldn't be here");
Зважаючи на все це, чим ближче ваш код стає "готовим до виробництва", тим більше ви можете обмежувати базовий рівень реєстрації для свого коду (вам потрібно V в альфа, D у бета, I у виробництві або, можливо, навіть W у виробництві ). Вам слід запустити кілька простих випадків використання та переглянути журнали, щоб переконатися, що ви все ще можете зрозуміти, що відбувається, застосовуючи більш обмежуючу фільтрацію. Якщо ви працюєте з фільтром, наведеним нижче, ви все одно можете розповісти, що робить ваш додаток, але, можливо, не отримаєте всі деталі.
logcat -v threadtime MyApp:I *:S
Verbose
ведення журналів. Це те, що ви використовуєте, коли хочете вивести всі можливі логічні операції.