Я хочу записать отладочный вывод в журнал, чтобы просмотреть его с помощью logcat.
Если я что-то записываю в System.out, это уже отображается в logcat.
Как правильно записать в журнал и добавить уровни и теги в мой вывод?
Посмотрите на android.util.Log. Это позволяет вам писать в журнал с различными уровнями журнала, и вы можете указать различные теги для группировки вывода. Например
android.util.Log
Log.w("myApp", "no network");
выведет предупреждение с тегом myApp и сообщением no network.
Тег просто используется для быстрого поиска выходных данных, поскольку вывод LogCat иногда может быть очень длинным. Вы можете определить где-нибудь в своем классе:
приватная статическая конечная строка TAG = "myApp";
и использовать его при отладке
Log.v (TAG, «что-то сделал»);
Вы также можете применить фильтр только для поиска по тегу.
Используйте android.util.Log и статические методы, определенные там (например, e(), w()).
e()
w()
import android.util.Log;
, а затем
Log.i("the your message will go here");
Пожалуйста, смотрите журналы, как это,
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)
Недавно я нашел такой подход к написанию журналов в 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); } }
String one = object.getdata(); Log.d(one,"");