我需要在我的android应用程序中记录异常。有没有办法记录异常,以便我可以图形化地读取这些日志,并将其发送到服务器或类似的地方?
发布于 2011-02-24 15:13:34
我在这里可以看到几种不同的情况:
答:如果您正在谈论开发过程,可以通过单击Error filter在LogCat中查看异常(例如,在调试透视图中)。
B:如果你谈论的是生产应用程序中的崩溃,堆栈跟踪会报告给谷歌,并可以在Android Market开发者控制台中查看。
C:否则,如果您想记录并提交您正在捕获的异常(因此不允许使活动崩溃),那么请检查How do I obtain crash-data from my Android application?中的日志记录类
发布于 2011-12-24 13:51:22
C:否则,如果您想记录并提交您正在捕获的异常(因此不允许使活动崩溃),请查看如何从我的Android应用程序获取崩溃数据中的日志记录类?
可以使用android-logging-log4j来记录异常堆栈跟踪,而不是使用Android日志记录类。
使用slf4j接口在Android中记录异常堆栈跟踪
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
}
}
}
使用log4j接口在Android中记录异常堆栈跟踪
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
}
}
}
发布于 2013-03-16 17:47:20
尝试使用Android Logger -它是SLF4J API最简单的实现:
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
https://stackoverflow.com/questions/5106401
复制相似问题