2014-08-28 42 views
0

我正在开发一个Android项目,其中有一些类我打算将其作为纯Java.jar(用于其他Java相关项目中)使用。在这些纯Java类中,我使用System.out进行登录。这也是一个Android应用程序,所以在我的Android类中,我显然使用LogSystem.out到Android Logcat在Eclipse中

在监视纯java类时,我无法在我的Eclipse logcat中打印出System.out。但我确实看到System.err

有谁知道如何让System.out在logcat中在这个传说中的Log.i水平显示?

设置

  1. 的Nexus 7 - 的Android 4.4.4 - 库存
  2. Eclipse的开普勒
  3. 的Android SDK 21
  4. Ubuntu的12.04 64位
  5. 监测在logcat的所有邮件选项卡, logcat设置为详细

我已经试过

adb root 
adb shell start 
adb shell setprop log.redirect-stdio true 
adb shell stop 
  • logcat的设置为verbose
  • 在控制台没有Android或DDMS下
+0

写一个日志包装器,或者使用一个现有的。 – 2014-08-28 18:44:03

+0

@DaveNewton'System.out'打印在logcat右边? :) – 2014-08-28 18:48:27

+0

你是什么意思一个日志封装?当你说日志你的意思是Android类'日志'或你的意思是一般动词日志?我在包装什么? 'System.out'?那我们不是陷入了同样的情况吗? – Constantin 2014-08-28 18:55:45

回答

0

现在,你可以把你的纯Java项目登录到警告级别例子...

OutputStream os = new OutputStream() { 

     @Override 
     public synchronized void write(byte[] buffer, int offset, int len) { 
      Log.w("blah", new String(buffer)); 
     } 

     @Override 
     public void write(int oneByte) 
       throws IOException { 
      // Not really sure what to do here... 
     } 
    }; 
    System.setOut(new PrintStream(os)); 
    System.out.println("Adam."); 
+0

除了现在我的纯java类正在链接到Android类,特别是'Log' – Constantin 2014-08-28 20:59:13

+0

你是什么意思? – TacB0sS 2014-08-28 21:13:20

+0

他想要一个可以在Android和普通Java项目中使用的类的jar,导入日志只会在Android上工作,而不在正常的java项目中。 – WHDeveloper 2014-08-28 22:09:42