我正在使用nohup將java輸出和錯誤追加到同一個日誌文件。問題在於它會寫入一個輸出,然後它會覆蓋日誌文件中的錯誤並將輸出擦除。Nohup追加輸出和錯誤而不是覆蓋
nohup命令是
nohup java Daemon 1000 >logs/wrapper.log 2>logs/wrapper.log &
這是我想登錄wrapper.log從Daemon.java
System.out.println("This is output that should go to the file");
System.err.println("This is error that should go to the file");
但只有最後一條消息被寫入文件中的消息。最合理的答案是要知道如何追加wrapper.log的輸出和錯誤,而不是覆蓋
任何想法
感謝
嗨,感謝您的回覆。它似乎可行,但現在日誌還包含nohup:忽略每次追加答案時都會污染日誌的輸出。還有一種方法,我可以把所有的控制檯輸出/錯誤/異常在Windows中運行一個Java程序時的日誌文件。我知道我們可以在java中使用printstream來做到這一點,但有沒有一個Windows控制檯功能,它會記錄下你剛剛顯示的命令 – shujaat 2012-04-16 07:30:09
通常,如果nohup的輸出是終端,它會創建一個nohup.out文件來保存輸出,但這不是這裏的情況。如果Java程序輸出的唯一目的是記錄日誌,那麼讓Java以必要的模式打開日誌文件本身,然後用bash腳本來包裝重定向可能會更好。不幸的是,我對Windows下I/O的工作原理知之甚少。 – ormaaj 2012-04-16 07:43:19