سؤال

أريد أن أكتب بعض إخراج تصحيح الأخطاء إلى السجل لمراجعته باستخدام Logcat.

إذا كتبت شيئًا إلى System.Out ، فسيتم عرض ذلك بالفعل في Logcat.

ما هي الطريقة النظيفة للكتابة إلى السجل وإضافة مستويات وعلامات إلى مخرجتي؟

هل كانت مفيدة؟

المحلول

تفحص android.util.Log. يتيح لك الكتابة إلى السجل مع مستويات السجل المختلفة ، ويمكنك تحديد علامات مختلفة لتجميع الإخراج. علي سبيل المثال

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

سيقوم بإخراج تحذير مع العلامة myApp والرسالة لا شبكة.

نصائح أخرى

يتم استخدام العلامة فقط للعثور بسهولة على الإخراج الخاص بك ، لأن إخراج logcat يمكن أن تكون في بعض الأحيان طويلة جدا. يمكنك تحديد مكان ما في صفك:

TART FIND STATIC Static Final Tag = "MyApp" ؛

واستخدامه عند تصحيح الأخطاء

log.v (علامة ، "فعلت شيئًا") ؛

enter image description here

يمكنك تطبيق مرشح للبحث فقط عن العلامة.

يستخدم 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. هنا جيثب حلقة الوصل.

باستخدام هذه المكتبة ، يمكنك تسجيل رسالتك مع اسم الطريقة/رقم الفئة/رقم السطر ورابط المرساة. باستخدام هذا الرابط ، عند النقر فوق LOG ، تنتقل الشاشة إلى هذا السطر من التعليمات البرمجية.

لاستخدام المكتبة ، يجب عليك القيام بالتطبيقات أدناه.

في 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