Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日志输入流_Java_Logging_Inputstream - Fatal编程技术网

Java 日志输入流

Java 日志输入流,java,logging,inputstream,Java,Logging,Inputstream,你们知道有什么简单的方法可以将输入流记录到文件中吗。来自进程的InputStream永远不会结束,并不时生成一些流。 谢谢 Bartek如果您想透明地记录永无止境的流-我相信您需要一个Tee过滤器-请参阅本文中的答案。例如,您可以使用Commons IO。对于您来说,最合适的情况是log4j 但您可以将System.err和System.out重定向到console或smth else,它将在特定流中写入所有错误 upd: # Root logger option log4j.rootLogge

你们知道有什么简单的方法可以将输入流记录到文件中吗。来自进程的InputStream永远不会结束,并不时生成一些流。 谢谢
Bartek

如果您想透明地记录永无止境的流-我相信您需要一个Tee过滤器-请参阅本文中的答案。例如,您可以使用Commons IO。

对于您来说,最合适的情况是
log4j

但您可以将
System.err
System.out
重定向到console或smth else,它将在特定流中写入所有错误

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

你能具体点吗?发生错误时,您是否试图写入日志文件以存储信息?如果可以的话,请提供一些关于该项目的背景信息。您正在寻找类似Apache
log4j
的东西吗?它是一个库,允许您将应用程序中的数据写入日志文件。这里有更多的细节:你想在一个文件中记录STDOUT和STDIN吗?最基本的方法是使用log4j:)有一个简单的bash脚本,它会定期在屏幕上打印一些东西,比如说每5分钟一次日期+时间,这个过程永远不会结束。由
Process p=Runtime.getRuntime().exec(command)
执行,则此进程中的InputStream需要从1.7开始存储到文件中,如果您使用的是ProcessBuilder,则可以使用ProcessBuilder().inheritIO()轻松重定向IO流。您对如何使用log4j将InputStream重定向到文件中有什么建议吗?好的,这里是system.out redirected,但是如何重定向不同的InputStream(例如进程)可以通过编程方式实现。