使用Grails框架,如何阅读控制台输出。我的意思是我的grails应用程序中有一个java库,它输出(system.out.println(“x”))到控制台,我想在我的grails应用程序的文本框中显示它。我该怎么做呢
我不想将消息写入文件并以这种方式或数据库读取它们。有没有直接从控制台读取。
提前致谢。
编辑**
我正在使用的第三方jar文件
答案 0 :(得分:1)
您可以使用System.setOut()方法重定向输出。这是一个快速示例,在五秒钟后将System.out重定向到文本窗格:
import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Date;
public class TextCapture {
public static void main(String[] args) throws Exception {
JFrame jf = new JFrame();
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
final JTextArea jta = new JTextArea();
jta.setPreferredSize(new Dimension(400, 200));
jf.getContentPane().add(jta);
jf.pack();
jf.setVisible(true);
OutputStream textOS = new OutputStream() {
@Override
public void write(int b) throws IOException {
jta.setText(jta.getText() + ((char)b));
}
};
for(int i = 0; i < 20; i++) {
Thread.sleep(1000);
if(i == 5) {
System.setOut(new PrintStream(textOS));
}
System.out.println(String.valueOf(new Date()));
}
}
}
答案 1 :(得分:-1)
我们可以使用log4j配置,将您的应用日志写入文件,继续使用您的应用阅读相同的文件。这应该满足您的要求。详情请参阅http://grails.org/doc/latest/guide/conf.html部分 5.1.2记录