2011-09-08 6 views
6

Per accelerare il mio debug, I Color alcuni messaggi per avvistare istante, in questo modo:Terser Coloring di un messaggio LogCat?

if (isOK) 
    Log.i(TAG, stringVarContentOfMessage); 
else 
    Log.v(TAG, stringVarContentOfMessage); 

Funziona, ma guardando questo codice sorgente più e più volte, in cui l'unica giustificazione per l'occupazione di 4 linee di preziosi è uno solo un personaggio diverso (Log.i vs. Log.v) è un pugno nell'occhio per me.

Eventuali suggerimenti per evitare questo fastidio senza ricorrendo al seguente?

isOK ? Log.i(TAG, stringVarContentOfMessage) : Log.v(TAG, stringVarContentOfMessage); 

risposta

3

È possibile utilizzare Log.println():

Log.println(isOK ? Log.INFO : Log.VERBOSE, TAG, stringVarContentOfMessage); 
+0

Questa è una soluzione eccellente. Sapevo di Log.x() ma non sapevo di 'Log.println()'. Accettato +1. – ateiob

3

Creare un metodo di supporto:

private void conditionalLog(boolean flag, String tag, String message); 
+3

Direi che non dovrebbe essere privato, dovrebbe essere pubblico e statico, altrimenti l'accesso ad esso sarà limitato a una sola classe. – darioo

+0

@ scompt.com Questa è una buona soluzione ma richiede l'aggiunta di un metodo (che va bene quando non ci sono altri collegamenti). +1. – ateiob