首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Android日志记录

Android日志记录
EN

Stack Overflow用户
提问于 2011-02-24 23:04:21
回答 3查看 1.7K关注 0票数 0

我需要在我的android应用程序中记录异常。有没有办法记录异常,以便我可以图形化地读取这些日志,并将其发送到服务器或类似的地方?

EN

回答 3

Stack Overflow用户

发布于 2011-02-24 23:13:34

我在这里可以看到几种不同的情况:

答:如果您正在谈论开发过程,可以通过单击Error filter在LogCat中查看异常(例如,在调试透视图中)。

B:如果你谈论的是生产应用程序中的崩溃,堆栈跟踪会报告给谷歌,并可以在Android Market开发者控制台中查看。

C:否则,如果您想记录并提交您正在捕获的异常(因此不允许使活动崩溃),那么请检查How do I obtain crash-data from my Android application?中的日志记录类

票数 2
EN

Stack Overflow用户

发布于 2011-12-24 21:51:22

C:否则,如果您想记录并提交您正在捕获的异常(因此不允许使活动崩溃),请查看如何从我的Android应用程序获取崩溃数据中的日志记录类?

可以使用android-logging-log4j来记录异常堆栈跟踪,而不是使用Android日志记录类。

使用slf4j接口在Android中记录异常堆栈跟踪

代码语言:javascript
代码运行次数:0
运行
复制
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中记录异常堆栈跟踪

代码语言:javascript
代码运行次数:0
运行
复制
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
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-17 01:47:20

尝试使用Android Logger -它是SLF4J API最简单的实现:

android-logger.properties:

代码语言:javascript
代码运行次数:0
运行
复制
root=ERROR:MyApplication
logger.com.example.ui=DEBUG:MyApplication-UI

MainActivity.java:

代码语言:javascript
代码运行次数:0
运行
复制
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输出:

代码语言:javascript
代码运行次数:0
运行
复制
I/MyApplication-UI: entered MainActivity::foo value=10
E/MyApplication-UI: I/O error occurred
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5106401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档