Как мне записать результаты в Log in Android? - PullRequest
142 голосов
/ 02 марта 2010

Я хочу записать отладочный вывод в журнал, чтобы просмотреть его с помощью logcat.

Если я что-то записываю в System.out, это уже отображается в logcat.

Как правильно записать в журнал и добавить уровни и теги в мой вывод?

Ответы [ 7 ]

197 голосов
/ 02 марта 2010

Посмотрите на android.util.Log. Это позволяет вам писать в журнал с различными уровнями журнала, и вы можете указать различные теги для группировки вывода. Например

Log.w("myApp", "no network");

выведет предупреждение с тегом myApp и сообщением no network.

19 голосов
/ 28 сентября 2014

Тег просто используется для быстрого поиска выходных данных, поскольку вывод LogCat иногда может быть очень длинным. Вы можете определить где-нибудь в своем классе:

приватная статическая конечная строка TAG = "myApp";

и использовать его при отладке

Log.v (TAG, «что-то сделал»);

enter image description here

Вы также можете применить фильтр только для поиска по тегу.

17 голосов
/ 02 марта 2010

Используйте android.util.Log и статические методы, определенные там (например, e(), w()).

5 голосов
/ 24 февраля 2017
import android.util.Log;

, а затем

Log.i("the your message will go here"); 
3 голосов
/ 20 апреля 2018

Пожалуйста, смотрите журналы, как это,

Log.e("ApiUrl = ", "MyApiUrl") (error)
Log.w("ApiUrl = ", "MyApiUrl") (warning)
Log.i("ApiUrl = ", "MyApiUrl") (information)
Log.d("ApiUrl = ", "MyApiUrl") (debug)
Log.v("ApiUrl = ", "MyApiUrl") (verbose)
0 голосов
/ 20 апреля 2018

Недавно я нашел такой подход к написанию журналов в Android, который я считаю супер-классным.

public static final boolean FORCED_LOGGING = true;
private static final int CALLER_STACK_INDEX = 3;

public static void showLogs(String message) {
        if (FORCED_LOGGING) {
            StackTraceElement caller = Thread.currentThread().getStackTrace()[CALLER_STACK_INDEX];

            String fullClassName = caller.getClassName();
            String className = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
            String methodName = caller.getMethodName();
            int lineNumber = caller.getLineNumber();

            Log.i("*** " + className + "." + methodName + "():" + lineNumber + "\n" , message);
        }
    }
0 голосов
/ 23 ноября 2017
String one = object.getdata();
Log.d(one,"");
...