Ответы:
Посмотри в android.util.Log
. Это позволяет вам писать в журнал с различными уровнями журнала, и вы можете указать различные теги для группировки вывода. Например
Log.w("myApp", "no network");
выдаст предупреждение с тегом myApp и сообщением no network.
w
в Log.w(...)
обозначает предупреждение. Есть еще версии: d
- отладка, e
- ошибка, i
- информация, v
- многословно, wtf
- что за ужасный сбой. ;-)
Тэг просто используется, чтобы легко найти ваш вывод, потому что иногда вывод LogCat может быть очень длинным. Вы можете определить где-нибудь в своем классе:
приватная статическая final String TAG = "myApp";
и использовать его при отладке
Log.v (TAG, «сделал что-то»);
Вы также можете применить фильтр только для поиска по тегу.
Использование android.util.Log
и статические методы , определенные там (например, e()
, w()
).
Пожалуйста, смотрите журналы, как этот путь,
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)
Вы можете использовать мою библиотеку под названием RDALogger. Вот ссылка на GitHub .
С помощью этой библиотеки вы можете записать ваше сообщение с именем метода / именем класса / номером строки и ссылкой. С этой ссылкой, когда вы нажимаете на журнал, экран переходит к этой строке кода.
Чтобы использовать библиотеку, вы должны сделать реализации ниже.
в корневой системе gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
на уровне приложения Gradle
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
Для инициализации библиотеки вы должны начать так (в Application.class или перед первым использованием)
RDALogger.start("TAG NAME").enableLogging(true);
И чем вы можете войти, что вы хотите;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
И, наконец, вывод показывает все, что вы хотите (имя класса, имя метода, якорная ссылка, сообщение)
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29) /// IN METHOD : onCreate
info
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);
}
}
log.d
?