gpt4 book ai didi

java - 如何增加 android Log 类的控制台输出

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:50 24 4
gpt4 key购买 nike

默认情况下,android 平台上的 Log 控制台输出的字符数量有限。大约等于 3000 多一点。因此,如果消息超过 3000 个字符,则不会显示在屏幕上。

我还没有找到比这更好的解决方案:

public class Log {
private static int mode = android.util.Log.INFO;

public static void e(String tag, String msg, Throwable tr) {
if ((mode & android.util.Log.ERROR) <= 0) return;
android.util.Log.e(tag, msg, tr);
}

public static void e(String tag, String msg) {
if ((mode & android.util.Log.ERROR) <= 0) return;
android.util.Log.e(tag, msg);
}

public static void w(String tag, String msg) {
if ((mode & android.util.Log.WARN) <= 0) return;
android.util.Log.w(tag, msg);
}

public static void i(String tag, String msg) {
if ((mode & android.util.Log.INFO) <= 0) return;
android.util.Log.i(tag, msg);
}

public static void d(String tag, String msg) {
if ((mode & android.util.Log.DEBUG) <= 0) return;

int length = msg.length();
int kind = 3000;
if (length >= kind) {
int count = length / kind;
int u = length % kind;
int i = 0;
for (i = 0; i < count; ++i) {
int start = i * kind;
int end = start + kind;
android.util.Log.d(tag, msg.substring(start, end));
}
if (u != 0) {
int start = length - u;
int end = start + u;
android.util.Log.d(tag, msg.substring(start, end));
}
} else {
android.util.Log.d(tag, msg);
}
}

}

这个问题有更好的解决方案吗?

最佳答案

处理大型输出(JSON 等)时 1024 个字符限制的解决方法是做一个简单的 for 循环,将它们记录在 block 中。

它可能不像您的那样复杂,但它看起来很容易,并且不会使代码过于困惑。

        String json = data.toString();
int length = json.length();

for(int i=0; i<length; i+=1024)
{
if(i+1024<length)
Log.d("JSON OUTPUT", json.substring(i, i+1024));
else
Log.d("JSON OUTPUT", json.substring(i, length));
}

关于java - 如何增加 android Log 类的控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4668596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com