Encapsulates the output and error streams of a running process.
Encapsulates the output and error streams of a running process. This is used
by scala.sys.process.ProcessBuilder when starting a process, as an
alternative to scala.sys.process.ProcessIO, which can be more difficult
to use. Note that a ProcessLogger
will be used to create a ProcessIO
anyway. The object BasicIO
has some functions to do that.
Here is an example that counts the number of lines in the normal and error output of a process:
import scala.sys.process._
var normalLines = 0
var errorLines = 0
val countLogger = ProcessLogger(line => normalLines += 1,
line => errorLines += 1)
"find /etc" ! countLogger
- See also
- Companion
- object
Value members
Abstract methods
If a process is begun with one of these ProcessBuilder
methods:
If a process is begun with one of these ProcessBuilder
methods:
def !(log: ProcessLogger): Int
def !<(log: ProcessLogger): Int
The run will be wrapped in a call to buffer. This gives the logger
an opportunity to set up and tear down buffering. At present the
library implementations of ProcessLogger
simply execute the body
unbuffered.