记录器输出到字符串

时间:2013-05-21 12:34:16

标签: java android junit

我对java很陌生,我的问题可能很吵,但我无法理解。

我有Logger logger = Logger.getLogger(MyClass.class.getName());

我希望将该记录器的输出作为字符串。例如,当我做

logger.info("Some message"); 
logger.warning(" Some warning");

我想得到一个字符串someString =“Some some SomeWarning”

我正在寻找类似于

的东西
ByteArrayOutputStream loggerContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(loggerContent));
TextView tv = (TextView)findViewById(R.id.txt_1);
tv.setText(loggerContent.toString());

但我没能实现它。它有可能吗?如何?

编辑:我希望在另一个活动中使用该字符串以在屏幕上显示它。

1 个答案:

答案 0 :(得分:2)

ByteArrayOutputStream loggerContent = new ByteArrayOutputStream(); 
PrintStream prStr = new PrintStream(loggerContent); 
StreamHandler streamHandler = new StreamHandler(prStr, new SimpleFormatter());

我在发布之前尝试过,无法得到结果。它确实有效,但在尝试loggerContent.toString()之前我必须.flush() StreamHandler。 谢谢你们的回应。 :)