Java 记录器输出到字符串
我对java还很陌生,我的问题可能很无趣,但我想不出来 我有一个Java 记录器输出到字符串,java,android,junit,Java,Android,Junit,我对java还很陌生,我的问题可能很无趣,但我想不出来 我有一个Logger=Logger.getLogger(MyClass.class.getName()) 我想把记录器的输出作为一个字符串。例如,当我这样做的时候 logger.info("Some message"); logger.warning(" Some warning"); 我想获取字符串someString=“Some message SomeWarning” 我在找类似的东西 ByteArrayOutputStream
Logger=Logger.getLogger(MyClass.class.getName())代码>
我想把记录器的输出作为一个字符串。例如,当我这样做的时候
logger.info("Some message");
logger.warning(" Some warning");
我想获取字符串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());
但我没能做到。有可能吗?怎么可能
编辑:我想在另一个活动中使用该字符串,以便在屏幕上显示它
ByteArrayOutputStream loggerContent = new ByteArrayOutputStream();
PrintStream prStr = new PrintStream(loggerContent);
StreamHandler streamHandler = new StreamHandler(prStr, new SimpleFormatter());
我在这里发布之前就试过了,但没有得到结果。它实际上可以工作,但我必须在尝试loggerContent.toString()之前.flush()
StreamHandler。
感谢各位的回复。:) 我不太明白。您想在您登录的应用程序中包含该字符串吗?或者,您想获取“应用程序2”中的“应用程序1”的日志输出吗?您可以将日志4j更改为将日志打印到文件中。我希望该字符串用于另一个活动,以便在屏幕上显示。您可以创建自己的,并使用它来生成字符串。您能给我举个例子吗?我之前尝试过:ByteArrayOutputStream loggerContent=newbytearrayoutputstream();PrintStream prStr=新的PrintStream(loggerContent);StreamHandler StreamHandler=新的StreamHandler(prStr,新的SimpleFormatter());没用。