另一種列印輸出日誌資訊的方式

ronaldong發表於2018-05-31

當我們在除錯應用程式的時候,我們或許會在我們的程式碼裡插入幾行log語句來看看這裡到底發生了什麼。比如:

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!")
 
    }
}


複製程式碼

這種方法很有效,但如果我們在提交程式碼之前忘記了刪除這些日誌,那麼它們就會在程式碼審查的時候中被標記,甚至在我們釋出應用時仍然存在。

現在IntelliJ和Android Studio提供了一種解決辦法,它允許您建立非暫停性斷點。

首先,單擊任意一行程式碼,建立除錯斷點。然後你可以通過單擊右鍵彈出編輯斷點的對話方塊。你會看到這個:

另一種列印輸出日誌資訊的方式

然後,取消選中Suspend核取方塊,您會看到更多選項,如下所示:

另一種列印輸出日誌資訊的方式

現在,將程式碼中的log語句新增到Evaluate and log框中,如下所示:

另一種列印輸出日誌資訊的方式

當你從程式碼中刪除了所有Log語句,並將它們放入斷點之後,程式碼看起來會更乾淨整潔,如下所示:

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 {
           
        }
 
    }
}


複製程式碼

最後您需要做的就是單擊右上方“除錯”按鈕,在除錯模式下執行應用程式,這些日誌訊息將會顯示在除錯控制檯中。

相關文章