使ConsoleHandler输出出现在logcat输出中

时间:2011-07-07 05:51:17

标签: android logcat

有没有让ConsoleHandler的输出出现在logcat中?

我在代码中有以下内容

ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setFormatter (new DMLogFormatter());
consoleHandler.setLevel (Level.ALL);

FileHandler fileHandler = new FileHandler ("logFile", true);
fileHandler.setFormatter (new DMLogFormatter());
fileHandler.setLevel (Level.ALL);

Logger logger = Logger.getLogger ("log");
logger.setUseParentHandlers (false);
logger.setLevel (Level.ALL);
logger.addHandler (fileHandler);
logger.addHandler (consoleHandler);

FileHandler的输出正常。没有出现在ConsoleHandler上的那些。

我在Logcat documentation

中给出的“查看stdout和stderr”下阅读了以下内容
  

默认情况下,Android系统发送stdout和stderr(System.out和   System.err)输出到/ dev / null。在运行Dalvik VM的进程中,您   可以让系统将输出的副本写入日志文件。在这   例如,系统使用日志标记stdout将消息写入日志   和stderr,都优先考虑。

     

要以这种方式路由输出,请停止正在运行的仿真器/设备   实例然后使用shell命令setprop来启用   重定向输出。这是你如何做到的:

     

$ adb shell stop

     

$ adb shell setprop log.redirect-stdio true

     

$ adb shell start

这三个命令也无济于事。是否可以使ConsoleHandler的输出出现在Logcat输出中?

1 个答案:

答案 0 :(得分:1)

如果你没有绑定ConsoleHandler,我建议使用slf4j-android(转储到logcat)或logback-android(有几个目的地选项,包括{{3} }})。