Trait/Object

scala.sys.process

ProcessLogger

Related Docs: object ProcessLogger | package process

Permalink

trait ProcessLogger extends AnyRef

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

scala.sys.process.ProcessBuilder

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProcessLogger
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def buffer[T](f: ⇒ T): T

    Permalink

    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.

  2. abstract def err(s: ⇒ String): Unit

    Permalink

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

  3. abstract def out(s: ⇒ String): Unit

    Permalink

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

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped