Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 记录器输出到字符串_Java_Android_Junit - Fatal编程技术网

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

我对java还很陌生,我的问题可能很无趣,但我想不出来

我有一个
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());没用。