我对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());
但我没能实现它。它有可能吗?如何?
编辑:我希望在另一个活动中使用该字符串以在屏幕上显示它。
答案 0 :(得分:2)
ByteArrayOutputStream loggerContent = new ByteArrayOutputStream();
PrintStream prStr = new PrintStream(loggerContent);
StreamHandler streamHandler = new StreamHandler(prStr, new SimpleFormatter());
我在发布之前尝试过,无法得到结果。它确实有效,但在尝试loggerContent.toString()之前我必须.flush()
StreamHandler。
谢谢你们的回应。 :)