2016-06-01 6 views
0

Log.d("status", "my variable is " + foo); machen wird so etwas wie:Streifenpaketinformationen, wenn Variablenname Anmeldung

meine Variable [email protected]

Dies wird viel Platz wegnimmt und machen schwierige Dinge zu lesen, ist es so eine Möglichkeit, die Log-Anweisung nur Ausgang dieser ?:

meine Variable @ 1abcdef

012 Foo zu machen

Ich brauche nicht die Anwendung oder Paketinformationen.

+3

Dies ist 'toString', hat nicht viel mit dem Logger zu tun. Schreiben Sie Ihre eigene Implementierung. –

+0

@StiriosDelimanolis hat die Antwort. Ich habe nicht an toSring() gedacht. Es ist hässlich, aber 'foo.toString(). Substring (foo.toString(). LastIndexOf (". ") + 1)' funktioniert. Vielen Dank! –

+1

Ich meinte für Sie, 'Foo's' toString' Implementierung zu überschreiben, wenn Sie es besitzen. –

Antwort

0

Dies ist @SotiriosDelimanolis ausgezeichnete Antwort aus den Kommentaren. Ich habe alle seine Kommentare aufgestockt und ihm eine Woche Zeit gegeben, um zu antworten, aber ich denke wirklich, dass die Antwort auf diese Frage der Community helfen wird.

Der Logging-Text wird von toString() kommen, so dass Sie dieses Problem durch zwingende diese Methode lösen können:

public String toString() { 
    return (super.toString().substring(super.toString().lastIndexOf(".") + 1)); 
} 

Dies wird erreicht, was ich (Entfernen aller Paketinformationen) wollte, aber man kann mit ihr offensichtlich tut was auch immer . Danke @SotiriosDelimanolis!