3

我对java很陌生,我的问题可能很无聊,但我想不通。

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

我想将该记录器的输出作为字符串获取。例如,当我这样做时

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

我想得到一个 String someString = "Some message SomeWarning"

我正在寻找类似的东西

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

但我没能实现它。有可能吗?怎么做?

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

4

1 回答 1

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

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

于 2013-05-21T19:18:04.427 回答