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:
| Methode | Ebene | Beschreibung |
|---|---|---|
Log.v() | Verbose | Niedrigste Ebene, wird für die unwichtigsten Protokollmeldungen verwendet |
Log.d() | Debug | Debug-Informationen, während der Entwicklung am häufigsten verwendet |
Log.i() | Info | Allgemeine Informationsmeldungen |
Log.w() | Warn | Warnmeldungen, mögliche Risiken vorhanden |
Log.e() | Error | Fehlermeldungen, 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:
| Parameter | Beschreibung |
|---|---|
| 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
| Funktion | Vorgang |
|---|---|
| Protokolle anzeigen | Nach dem Ausführen der App wird das Logcat-Panel unten automatisch angezeigt |
| Schlüsselwortsuche | Geben Sie ein Schlüsselwort (z. B. foxdevelop) in das Logcat-Suchfeld ein, um zu filtern |
| Nach Ebene filtern | Klicken Sie auf das Dropdown-Menü, um Show only selected application / No Filters / Edit Filter Configuration zu wählen |
| Nach Tag filtern | Geben Sie tag:foxdevelop in das Suchfeld ein |
4. Warum System.out.println() nicht empfohlen wird
| Vergleich | System.out.println | Log |
|---|---|---|
| Steuerbarkeit | Nicht steuerbar | Über Ebenen und Filter steuerbar |
| Zeitinformation | Kein Zeitstempel | Jedes Protokoll enthält eine präzise Zeit |
| Filter | Kann nicht nach Tag filtern | Unterstützt mehrdimensionale Filterung nach Tag, Ebene, Prozess usw. |
| Protokollebenen | Keine Ebenenunterscheidung | 5 Ebenen für einfache Fehlerbehebung |
| Produktionsumgebung | Kann nicht deaktiviert werden | Kann 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 Code | Beschreibung |
|---|---|---|
logd | Log.d(TAG, "onCreate: "); | Generiert Debug-Protokoll |
logi | Log.i(TAG, "onCreate: "); | Generiert Info-Protokoll |
logw | Log.w(TAG, "onCreate: "); | Generiert Warn-Protokoll |
loge | Log.e(TAG, "onCreate: "); | Generiert Error-Protokoll |
logv | Log.v(TAG, "onCreate: "); | Generiert Verbose-Protokoll |
logt | private 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: build.gradle
Next: Activity