2012-03-19 79 views
0

我想創建一個記錄器,記錄發送到System.out的所有消息。關於系統記錄器

爲此我瞭解了java Logger類。

但是,如果我理解這個類的目的,它只允許編寫代碼中預先定義的日誌消息。

所以,如果我不想創建一個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工作?

另外:有沒有更好的方法來實現我的目標?

+0

我完全不知道該代碼試圖做什麼。 – skaffman 2012-03-19 09:54:51

+0

這甚至與eclipse沒有任何關係(正如你的標籤所暗示的那樣)。你也需要修復代碼格式。 – dtech 2012-03-19 09:56:38

+1

這段代碼有很多錯誤。 'readLine = new String();'是不必要的。使用'!='比較字符串將不起作用。 – Jesper 2012-03-19 10:07:54

回答

2

記錄器類用於調試代碼或輕鬆跟蹤代碼執行。我們可以根據需要將記錄器置於調試模式或信息模式。這取決於我們想要保存的日誌信息。您可以使用log4j或apache常用日誌記錄。