Как вы обычно помечаете записи в журнале? (Андроид) - PullRequest
78 голосов
/ 02 декабря 2011

Я полагаю, что большинство из вас знают об android.util.Log. Все методы ведения журнала принимают в качестве первого аргумента 'String tag'.

И мой вопрос Как вы обычно помечаете свои журналыВаши приложения? Я видел такой жесткий код:

public class MyActivity extends Activity {
    private static final String TAG = "MyActivity";
    //...
    public void method () {
        //...
        Log.d(TAG, "Some logging");
    }
}

Это выглядит не очень хорошо по многим причинам:

  • Вы можете сказать мне этот кодне имеет жесткого кода, но он есть.
  • Мое приложение может иметь любое количество классов в разных пакетах с одинаковыми именами.Так что было бы трудно читать журнал.
  • Это не гибко.Вы всегда помещали в свой класс приватное поле TAG.

Есть ли какой-нибудь изящный способ получить TAG для класса?

Ответы [ 12 ]

0 голосов
/ 22 августа 2013

Я обычно использую имя метода в качестве тега, но из потока

String TAG = Thread.currentThread().getStackTrace()[1].getMethodName();

Это позволяет избежать нового исключения.

0 голосов
/ 24 октября 2012
private static final String TAG = new RuntimeException().getStackTrace()[0].getClassName();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...