2012-06-14 78 views
0

我的Android应用程序发布了许多日志消息。我试图在同一个应用程序中显示所有这些日志消息。应用程序有一个UI元素(文本视图),它应该列出我的应用程序记录的所有消息。我如何访问日志消息,按我的应用程序名称进行过滤(例如,通过名称com.mycompany.myapp在Android应用程序中显示应用程序日志消息的代码

+3

对你的问题更具体。 – user370305

+0

@ user370305你不想透露自己吗? :D :) –

+0

在Eclipse中,还是在设备上(在实际应用程序中)? – Nick

回答

3

要在应用程序内部显示系统日志,为您自己的应用程序名称进行过滤,可以将以下内容作为内部类:

private static final String LogCatCommand = "logcat ActivityManager:I *:S"; 
private static final String ClearLogCatCommand = "logcat -c"; 

private class MonitorLogThread extends Thread{ 
    public MonitorLogThread(){ 
    } 

    BufferedReader br; 

    @Override 
    public void run() { 
     try { 
      Process process; 
      process = Runtime.getRuntime().exec(ClearLogCatCommand); 
       process = Runtime.getRuntime().exec(LogCatCommand); 
       br = new BufferedReader(new InputStreamReader(process.getInputStream())); 
       String line; 
       // Check if it matches the pattern 
       while(((line=br.readLine()) != null) && !this.isInterrupted()){ 

       // Filter for your app-line 
       if (line.contains("your-filter-string")){ 
        Log.i("myAppTag", "Found log-entry for my app:" + line); 
       } 

      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

而在你的onCreate法:

Thread mThread = new MonitorLogThread(); 
    mThread.start(); 

您可能不得不适应这个例子中,使其正常工作!

+0

我想通过编码显示应用程序日志信息。 – Deepali

相关问题