Protokollfunktion

Verwendung der Protokollfunktion in Android

1. Android-Protokollhilfsklasse: Log

Android SDK stellt eine spezielle Protokollhilfsklasse android.util.Log bereit, die 5 Ebenen von Protokollmethoden anbietet, sortiert von der niedrigsten bis zur höchsten Priorität:

MethodeEbeneBeschreibung
Log.v()VerboseNiedrigste Ebene, wird für die unwichtigsten Protokollmeldungen verwendet
Log.d()DebugDebug-Informationen, während der Entwicklung am häufigsten verwendet
Log.i()InfoAllgemeine Informationsmeldungen
Log.w()WarnWarnmeldungen, mögliche Risiken vorhanden
Log.e()ErrorFehlermeldungen, z. B. in catch-Blöcken abgefangene Ausnahmen

2. Grundlegende Verwendung

Fügen Sie in der onCreate()-Methode von MainActivity Protokollierung hinzu:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    // Info-Ebene-Protokoll ausgeben
    Log.i("foxdevelop", "xxxxxx");
}Code-Sprache: JavaScript (javascript)

Beschreibung der Methodenparameter:

ParameterBeschreibung
Erster Parameter (tag)Protokoll-Tag, meist kurze Zeichenfolge zur Identifizierung der Quelle, nützlich zum Filtern
Zweiter Parameter (msg)Protokollinhalt, d. h. die Nachricht, die Sie ausgeben möchten

Nach dem Ausführen des Projekts öffnen Sie das Logcat-Fenster, um die ausgegebenen Protokolle anzuzeigen.


3. Tipps zur Verwendung des Logcat-Fensters

FunktionVorgang
Protokolle anzeigenNach dem Ausführen der App wird das Logcat-Panel unten automatisch angezeigt
SchlüsselwortsucheGeben Sie ein Schlüsselwort (z. B. foxdevelop) in das Logcat-Suchfeld ein, um zu filtern
Nach Ebene filternKlicken Sie auf das Dropdown-Menü, um Show only selected application / No Filters / Edit Filter Configuration zu wählen
Nach Tag filternGeben Sie tag:foxdevelop in das Suchfeld ein

4. Warum System.out.println() nicht empfohlen wird

VergleichSystem.out.printlnLog
SteuerbarkeitNicht steuerbarÜber Ebenen und Filter steuerbar
ZeitinformationKein ZeitstempelJedes Protokoll enthält eine präzise Zeit
FilterKann nicht nach Tag filternUnterstützt mehrdimensionale Filterung nach Tag, Ebene, Prozess usw.
ProtokollebenenKeine Ebenenunterscheidung5 Ebenen für einfache Fehlerbehebung
ProduktionsumgebungKann nicht deaktiviert werdenKann deaktiviert oder auf bestimmte Ebenen beschränkt werden
// Nicht empfohlen
System.out.println("xxxxxxx");

// Empfohlen
Log.i(TAG, "Foxdevelop");Code-Sprache: JavaScript (javascript)

5. Android Studio Protokoll-Shortcuts

Android Studio bietet leistungsstarke Live Template-Shortcuts. Eingabe und Drücken von Tab vervollständigt automatisch:

Shortcut (eingeben und Tab drücken)Generierter CodeBeschreibung
logdLog.d(TAG, "onCreate: ");Generiert Debug-Protokoll
logiLog.i(TAG, "onCreate: ");Generiert Info-Protokoll
logwLog.w(TAG, "onCreate: ");Generiert Warn-Protokoll
logeLog.e(TAG, "onCreate: ");Generiert Error-Protokoll
logvLog.v(TAG, "onCreate: ");Generiert Verbose-Protokoll
logtprivate static final String TAG = "Klassenname";Im Klassenkörper verwenden, generiert automatisch den aktuellen Klassennamen als TAG

6. Vollständiges Beispiel

public class MainActivity extends AppCompatActivity {

    // Im Klassenkörper logt + Tab verwenden, um automatisch zu generieren
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Protokollausgabe mit TAG-Konstante
        Log.i(TAG, "foxdevelop");
        Log.e(TAG, "Hier ist eine Ausnahme aufgetreten");

        // Nicht empfohlen
        System.out.println("xxxxxxx");
    }
}Code-Sprache: PHP (php)

Logcat-Ausgabe nach dem Ausführen:

I/MainActivity: foxdevelop
E/MainActivity: Hier ist eine Ausnahme aufgetretenCode-Sprache: HTTP (http)

Protokollfunktion

Previous:
Next:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert