Android'de Oturum Açma'ya nasıl çıktı yazarım?


153

Logcat ile incelemek için günlüğe bazı hata ayıklama çıktıları yazmak istiyorum.

System.out'a bir şey yazarsam, bu zaten logcat'te görüntülenir.

Günlüğe yazmanın ve çıktıma düzey ve etiketler eklemenin temiz yolu nedir?

Yanıtlar:


211

Bakın android.util.Log. Günlüğe çeşitli günlük düzeyleriyle yazmanıza olanak tanır ve çıktıyı gruplandırmak için farklı etiketler belirtebilirsiniz. Örneğin

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

myApp etiketi ve ağ yok mesajı ile bir uyarı verir.


kullanarak farklı ne olurdu log.d?
JMASTER B

5
wiçinde Log.w(...)uyarı anlamına gelir. Orada daha sürümleri: d- ayıklama, e- hata, i- bilgi, v- ayrıntılı, wtf- Ne korkunç hata. ;-)
patryk.beza

20

Etiket sadece çıktınızı kolayca bulmak için kullanılır, çünkü LogCat Çıktısı bazen çok uzun olabilir. Sınıfınızda bir yer tanımlayabilirsiniz:

private static final: String TAG = "Uygulamam";

ve hata ayıklama sırasında kullanın

Log.v (TAG, "bir şey yaptı");

resim açıklamasını buraya girin

Yalnızca etiketi aramak için bir Filtre de uygulayabilirsiniz.


17

Burada android.util.Logtanımlanan statik yöntemleri kullanın (ör . e(), w()).


8
import android.util.Log;

ve sonra

Log.i("the your message will go here"); 

5

Lütfen günlükleri bu şekilde görün,

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)

1

RDALogger adlı kütüphanemi kullanabilirsiniz. İşte github bağlantısı .

Bu kütüphane ile mesajınızı yöntem adı / sınıf adı / satır numarası ve bağlantı linki ile kaydedebilirsiniz. Bu bağlantıyla, günlüğü tıklattığınızda ekran bu kod satırına gider.

Kütüphaneyi kullanmak için aşağıdaki uygulamaları yapmalısınız.

kök seviyesi kümesinde

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

uygulama düzeyinde derecelendirmede

dependencies {
            implementation 'com.github.ardakaplan:RDALogger:1.0.0'
    }

Kütüphaneyi başlatmak için şu şekilde başlamalısınız (Application.class dosyasında veya ilk kullanımdan önce)

RDALogger.start("TAG NAME").enableLogging(true);

Ve istediğiniz her şeyi kaydedebilirsiniz;

    RDALogger.info("info");
    RDALogger.debug("debug");
    RDALogger.verbose("verbose");
    RDALogger.warn("warn");
    RDALogger.error("error");
    RDALogger.error(new Throwable());
    RDALogger.error("error", new Throwable());

Ve son olarak çıktı size istediğiniz her şeyi gösterir (sınıf adı, yöntem adı, bağlantı bağlantısı, mesaj)

08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29)   ///   IN METHOD : onCreate
    info


0

Son zamanlarda süper harika olduğunu düşünüyorum android yazma günlükleri için bu yaklaşımı buldum.

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);
        }
    }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.