Java 关于系统记录器

Java 关于系统记录器,java,logging,Java,Logging,我想创建一个记录器,记录发送到System.out的所有消息 为此,我了解了javaLogger类 但是如果我理解这个类的用途,它只允许编写代码中预定义的日志消息 因此,如果我不想创建一个系统.out。logger我必须创建自己的logger类 String dateTime = new String (now("MM-dd-yy_HH!mm!ss")); BufferedReader sysLogger = new BufferedReader(new Inpu

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

为此,我了解了java
Logger

但是如果我理解这个类的用途,它只允许编写代码中预定义的日志消息

因此,如果我不想创建一个
系统.out
。logger我必须创建自己的logger类

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();
                }
为什么这个代码不起作用


还有:有更好的方法来实现我的目标吗?

Logger类用于调试代码或跟踪代码执行。我们可以根据需要将记录器置于调试模式或信息模式。我们想在日志中保留哪些信息取决于我们。您可以使用log4j或apache通用日志记录。

在以下内容中找到了答案:


不过:我如何才能将System.out设置到控制台和文件?

我完全不知道这些代码试图做什么。这甚至与eclipse无关(正如您的标签所建议的那样)。你还需要修正代码格式。这段代码有很多错误<代码>读取行=新字符串()是不必要的。将字符串与
进行比较=将不起作用。我如何实现记录传递到System.out的所有消息的目标?