ProcessLogger (original) (raw)

scala.sys.process.ProcessLogger

See theProcessLogger companion object

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

Attributes

See also

Companion

object

Source

ProcessLogger.scala

Graph

Supertypes

Known subtypes

Members list

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.

Attributes

Source

ProcessLogger.scala

Will be called with each line read from the process error stream.

Will be called with each line read from the process error stream.

Attributes

Source

ProcessLogger.scala

Will be called with each line read from the process output stream.

Will be called with each line read from the process output stream.

Attributes

Source

ProcessLogger.scala

In this article