我想写一些调试输出到日志与logcat的审查。

如果我写的东西到System.out这已经显示在logcat中。

什么是干净的方法来写日志,并添加水平和标签,以我的输出?

有帮助吗?

解决方案

考查 android.util.Log 。它可以让你写日志的各种日志级别,你可以到指定组不同的标签输出。 例如

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

将输出与标签对myApp和消息没有网络的警告。

其他提示

标签只是用来很容易地找到你的输出,因为输出的 logcat的有时可能很长。您可以在类中定义的某个地方:

  

私有静态最后字符串标记= “对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);
        }
    }

您可以用我的libary称为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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top