Регистрация в Android - PullRequest
       1

Регистрация в Android

0 голосов
/ 24 февраля 2011

Мне нужно регистрировать исключения в моем приложении для Android.Есть ли способ зарегистрировать исключение, чтобы я мог схематически прочитать эти журналы и отправить их на сервер или что-то в этом роде?

Ответы [ 3 ]

2 голосов
/ 24 февраля 2011

Я вижу несколько разных ситуаций здесь:

A: Если вы говорите о процессе разработки, исключения можно просмотреть в LogCat (например, в перспективе Отладка), нажав на Ошибкафильтр.

B: Если вы говорите о сбоях в производственных приложениях, о следах стека сообщается в Google, и их можно просмотреть в консоли разработчика Android Market.

C: В противном случаехотите войти в систему и отправить исключение, которое вы перехватываете (и, следовательно, не разрешаете аварийно завершить работу), а затем проверить класс ведения журнала в Как получить данные о сбоях из моего приложения Android?

1 голос
/ 16 марта 2013

Попробуйте использовать Android Logger - это самая простая реализация API SLF4J:

android-logger.properties:

root=ERROR:MyApplication
logger.com.example.ui=DEBUG:MyApplication-UI

MainActivity.java:

package com.example.ui;

import com.noveogroup.android.log.Logger;
import com.noveogroup.android.log.LoggerManager;

public class MainActivity extends Activity {

  private static final Logger logger = LoggerManager.getLogger();

  private void foo(int value) {
    logger.i("entered MainActivity::foo value=%d", value);

    try {
      // some code
    } catch(IOException e) {
      logger.e("I/O error occurred", e);
    }
  }

}

LogCat Выход:

I/MyApplication-UI: entered MainActivity::foo value=10
E/MyApplication-UI: I/O error occurred
1 голос
/ 24 декабря 2011

C: В противном случае, если вы хотите регистрировать и отправлять исключение, которое вы перехватываете (и, следовательно, не разрешаете сбой активности), то проверьте класс ведения журнала в разделе Как получить данные о сбоях из моегоПриложение Android?

Вместо использования класса ведения журнала Android android-logging-log4j может использоваться для регистрации трассировок стека исключений.

Регистрация трассировок стека исключений вAndroid с использованием slf4j api

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ExampleLog4JOverSLF4J {
    private final Logger log = LoggerFactory.getLogger(ExampleLog4JOverSLF4J.class);

    public void myMethod() {
        try {
            // invoke code throwing an exception
        }
        catch(Exception e) {
            log.error("An error occured...", e);
            // recover or what ever
        }
    }
}

Регистрация трассировок стека исключений в Android с использованием log4j api

import org.apache.log4j.Logger;

public class ExampleLog4J {
    private final Logger log = Logger.getLogger(LogConfiguratorTest.class);

    public void myMethod() {
        try {
            // invoke code throwing an exception
        }
        catch(Exception e) {
            log.error("An error occured...", e);
            // recover or what ever
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...