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): IntThe 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.