zoukankan      html  css  js  c++  java
  • Android Log.isLoggable方法异常:exceeds limit of 23 characters

    AndroidRuntime: java.lang.IllegalArgumentException: Log tag "AccountSetupIncomingFragment" exceeds limit of 23 characters

    10-26 11:12:58.845 14695 14695 E AndroidRuntime: FATAL EXCEPTION: main
    10-26 11:12:58.845 14695 14695 E AndroidRuntime: Process: com.android.email, PID: 14695
    10-26 11:12:58.845 14695 14695 E AndroidRuntime: java.lang.IllegalArgumentException: Log tag "AccountSetupIncomingFragment" exceeds limit of 23 characters
    10-26 11:12:58.845 14695 14695 E AndroidRuntime: 
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.util.Log.isLoggable(Native Method)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.mail.utils.LogUtils.isLoggable(LogUtils.java:180)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.mail.utils.LogUtils.d(LogUtils.java:229)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.email.activity.setup.AccountSetupIncomingFragment.loadSettings(AccountSetupIncomingFragment.java:504)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.email.activity.setup.AccountSetupIncomingFragment.onActivityCreated(AccountSetupIncomingFragment.java:284)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.Fragment.performActivityCreated(Fragment.java:2362)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1014)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.BackStackRecord.run(BackStackRecord.java:816)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:563)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.email.activity.setup.AccountSetupFinal.proceed(AccountSetupFinal.java:585)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.email.activity.setup.AccountSetupFinal.onNextButton(AccountSetupFinal.java:804)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.email.activity.setup.AccountSetupBasicsFragment$3.onClick(AccountSetupBasicsFragment.java:228)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.view.View.performClick(View.java:5640)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.view.View$PerformClick.run(View.java:22436)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:751)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:95)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.os.Looper.loop(Looper.java:158)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:6177)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:890)
    10-26 11:12:58.845 14695 14695 E AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:780)
    10-26 11:12:58.846  3378  3395 W ActivityManager:   Force finishing activity com.android.email/.activity.setup.AccountSetupFinal

    frameworks/base/core/jni/android_util_Log.cpp

    static jboolean android_util_Log_isLoggable(JNIEnv* env, jobject clazz, jstring tag, jint level)
    {
        if (tag == NULL) {
            return false;
        }
    
        const char* chars = env->GetStringUTFChars(tag, NULL);
        if (!chars) {
            return false;
        }
    
        jboolean result = false;
        if ((strlen(chars)+sizeof(LOG_NAMESPACE)) > PROPERTY_KEY_MAX) {
            char buf2[200];
            snprintf(buf2, sizeof(buf2), "Log tag "%s" exceeds limit of %zu characters
    ",
                    chars, PROPERTY_KEY_MAX - sizeof(LOG_NAMESPACE));
    
            jniThrowException(env, "java/lang/IllegalArgumentException", buf2);
        } else {
            result = isLoggable(chars, level);
        }
    
        env->ReleaseStringUTFChars(tag, chars);
        return result;
    }

    TAG 有字符个数限制,最大23个字符

    public static boolean isLoggable(String tag, int level) {
        if (IS_DEV_BUILD) {
            return true;
        }
    
        if (MAX_ENABLED_LOG_LEVEL > level) {
            return false;
        }
        return Log.isLoggable(tag, level) || Log.isLoggable(TAG, level);
    }
  • 相关阅读:
    iOS 项目中的NSNotification简单使用
    IOS开发之格式化日期时间的使用 && 编程中常见问题
    linker command failed with exit code 1 (use -v to see invocation),经典Xcode编译错误的出现和解决!
    CocoaPods安装和使用教程
    机器学习算法--贝叶斯分类器(二)
    机器学习算法--贝叶斯分类器(一)
    Linux系统初始化过程及运行级别简介
    Linux基本符号
    索引节点inode详解
    Linux文件类型介绍
  • 原文地址:https://www.cnblogs.com/onelikeone/p/7736205.html
Copyright © 2011-2022 走看看