关于系统记录器

时间:2012-03-19 09:52:48

标签: java logging

我想创建一个记录器,记录发送到System.out的所有消息。

为此,我了解了java Logger类。

但是如果我理解了这个类的目的,它只允许编写在代码中预先定义的Log消息。

所以如果我不想创建System.out。记录器我必须创建自己的记录器类。

String dateTime = new String (now("MM-dd-yy_HH!mm!ss"));
                BufferedReader sysLogger = new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter sysWriter = new BufferedWriter(new FileWriter(new File(currentDir+"/logs/commando/CmdLog_"+dateTime+".txt")));
                String readLine = new String();
                String lastLine = new String();
                readLine = sysLogger.readLine();
                while(iSysLog == 1){ //TODO
                    if(lastLine != readLine){
                    sysWriter.write(readLine);
                    lastLine = readLine;
                    }
                    readLine = sysLogger.readLine();
                }

为什么这个codenot工作?

另外:有没有更好的方法来实现我的目标?

2 个答案:

答案 0 :(得分:2)

Logger Class用于调试代码或轻松跟踪代码执行。我们可以根据需要将logger置于调试模式或信息模式。我们想要在日志中保留哪些信息。您可以使用log4j或apache常见日志记录。

答案 1 :(得分:0)

找到答案:

Java - Capturing System.err.println or Capturing a PrintStream

仍然:如何将System.out设置为控制台和文件?