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