object SystemStreams
- Source
- SystemStreams.scala
- Alphabetic
- By Inheritance
- SystemStreams
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isOriginal(): Boolean
Used to check whether the system streams are all "original", i,e.
Used to check whether the system streams are all "original", i,e. they have not been overriden. Used for code paths that need to work differently if they have been overriden (e.g. handling subprocess stdout/stderr)
Assumes that the application only uses withStreams to override stdout/stderr/stdin.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- val original: SystemStreams
The original system streams of this process, before any redirection.
The original system streams of this process, before any redirection.
NOTE: you should not use this! They do not get captured properly by Mill's stdout/err redirection, and thus only get picked up from the Mill server log files asynchronously. That means that the logs may appear out of order, jumbling your logs and screwing up your terminal
- def originalErr: PrintStream
The original non-override stderr, used for debugging purposes e.g.
The original non-override stderr, used for debugging purposes e.g. if you want to print stuff while the system streams override are messed up
- def setTopLevelSystemStreamProxy(): Unit
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withStreams[T](systemStreams: SystemStreams)(t: => T): T
- def withTopLevelSystemStreamProxy[T](t: => T): T
Manages the global override of
System.{in,out,err}
.Manages the global override of
System.{in,out,err}
. Overrides of those streams are global, so we cannot just override them per-use-site in a multithreaded environment because different threads may interleave and stomp over each other's over-writes. Instead, we over-write them globally with a set of streams that does nothing but forward to the per-thread ThreadLocalStreams.current streams, allowing callers to each reach their own thread-local streams without clashing across multiple threads
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)