За счет обновления этих строк, когда я перемещаю код между методами или переименовываю методы, мне нравится делать следующее.С философской точки зрения также лучше сохранять «местоположение» или «контекст» в теге, а не в сообщении.
public class MyClass {
// note this is ALWAYS private...subclasses should define their own
private static final LOG_TAG = MyClass.class.getName();
public void f() {
Log.i(LOG_TAG + ".f", "Merry Christmas!");
}
}
Преимущество здесь заключается в том, что вы можете отфильтровать один метод, даже если содержимоеЭто не статично, например,
Log.i(LOG_TAG + ".f", String.valueOf(new Random().nextInt()));
Единственный недостаток заключается в том, что когда я переименовываю f()
в g()
, мне нужно помнить эту строку.Кроме того, автоматический рефакторинг в IDE их не уловит.
Некоторое время я был поклонником использования короткого имени класса, я имею в виду LOG_TAG = MyClass.class.getSimpleName()
.Я нашел их труднее фильтровать в журналах, потому что было меньше, чтобы продолжить.