Protokollierung ohne Code in Android Studio

Ursprünglicher Autor: Wajahat Karim
  • Übersetzung

Protokollierung ohne Code in Android Studio


Sie müssen nicht mehr Log.d()jede Codezeile eingeben!


Beim Debuggen von Anwendungen beginnen wir manchmal, Protokolle im gesamten Code zu generieren, um Probleme zu lösen.


class MainActivity : AppCompatActivity() {
    lateinit var retrofit: Retrofit
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setupToolbar()
        Log.d("MyApp", "Toolbar Set")
        initRetrofit()
        Log.d("MyApp", "Retrofit Initialized")
        var myButton = findViewById<Button>(R.id.search_close_btn)
        myButton.setOnClickListener {
            Log.d("MyApp", "My Button Clicked")
        }
        Log.d("MyApp", "Activity Creation Done!")
    }
}

Das funktioniert großartig, aber es kommt vor, dass wir vergessen, die Protokolle vor dem Commit zu entfernen, und sie „gelangen“ in den Produktionscode.


Es ist eine gute Praxis, Protokolle nach deren Abschluss nicht für das Debugging zu belassen, selbst wenn Sie ProGuard verwenden, um sie automatisch in kompiliertem Code zu entfernen, da dies die Lesbarkeit Ihres Codes insgesamt beeinträchtigt. Wie Kommentare können Protokolle leicht vom Code um sie herum abweichen, bestenfalls nutzlos werden und im schlimmsten Fall irreführend sein.


Die Situation ist kompliziert, wenn das Entfernen von Protokollen die Einhaltung bestimmter Bedingungen erfordert. Nun ist dies nicht nur nutzloses Durcheinander if else, sondern auch potenziell teurer Code.


Es stellt sich jedoch heraus, dass es einen sehr einfachen Weg gibt, dieses Problem zu lösen. Mit IntelliJ und Android Studio können Sie Haltepunkte (englische Haltepunkte ) erstellen , die die Ausführung des Codes nicht unterbrechen (ja, dies ist zulässig).


Erstellen Sie zunächst einen Haltepunkt in einer beliebigen Zeile, indem Sie entweder auf die linke Seite des Editors klicken oder eine Tastenkombination verwenden Ctrl-F8. Sie können den Haltepunkt dann bearbeiten, indem Sie ihn mit der rechten Maustaste anklicken oder eine Tastenkombination verwenden Ctrl-Shift-F8. Sie sehen dieses Fenster:


Haltepunkt bearbeiten


Deaktivieren Sie dann das Kästchen Suspend(Rus. Pause ) und Sie sehen weitere Parameter in diesem modalen Fenster:


Haltepunkt-Optionen


Fügen Sie dem Feld alle Protokolle Evaluate and logwie folgt hinzu:


Bewerten und protokollieren


Nachdem Sie alle Protokolle aus dem Code entfernt und sie zu den Haltepunkten hinzugefügt haben, wird Ihr Code sauber aussehen:


class MainActivity : AppCompatActivity() {
    lateinit var retrofit: Retrofit
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setupToolbar()
        initRetrofit()
        var myButton = findViewById<Button>(R.id.search_close_btn)
        myButton.setOnClickListener {
        }
    }
}

Viel besser, oder? Jetzt können Sie ununterbrochene Haltepunkte verwenden! Sie müssen nur die Anwendung im Debug-Modus starten und die Meldungen werden in der Konsole angezeigt.


Lesen Sie hier mehr über andere Tricks in Android Studio .


Jetzt auch beliebt: