2012-11-19 148 views
0

您是否知道任何用於記錄InputStream的簡潔解決方案,都可以通過輸入文件。來自Process的InputStream永遠不會結束並不時生成一些流。 謝謝 Bartek日誌輸入流

+0

能否請您具體?您是否嘗試寫入日誌文件以便在發生錯誤時存儲信息?如果可以的話,請提供一些關於該項目的背景信息。 –

+2

你在找什麼像Apache'log4j'嗎?它是一個庫,允許您將應用程序中的數據寫入日誌文件。更多細節在這裏:http://logging.apache.org/log4j/1.2/ – svz

+0

你是否試圖在一個文件中記錄STDOUT和STDIN? –

回答

0

如果你想透明地記錄永不結束的流 - 我相信你需要一個Tee過濾器 - 見question的答案。例如。你可以使用Commons IO。

0

對你而言,最可能的情況是log4j

但是,您可以將System.errSystem.out重定向到控制檯或smth其他位置,它將寫入特定流中的所有錯誤。

UPD:

# Root logger option log4j.rootLogger=INFO, file, stdout 
# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\loging.log log4j.appender.file.MaxFileSize=1MB log4j.appender.file.MaxBackupIndex=1 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L 
- %m%n 
# Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 
+0

你有什麼建議如何使用log4j將InputStream重定向到文件中? – user1806952

+0

好的,這裏是system.out重定向,但如何重定向不同的InputStream(例如過程),可以編程。 – user1806952