Fixes the stacktrace trimming

Ref https://github.com/sbt/sbt/issues/4121
Ref https://github.com/sbt/sbt/pull/4232
This commit is contained in:
Eugene Yokota 2018-06-27 06:36:47 -04:00
parent b643c98f29
commit 434e294f28
3 changed files with 10 additions and 5 deletions

View File

@ -421,7 +421,7 @@ class ConsoleAppender private[ConsoleAppender] (
} }
private def appendTraceEvent(te: TraceEvent): Unit = { private def appendTraceEvent(te: TraceEvent): Unit = {
val traceLevel = getTrace val traceLevel = if (getTrace < 0) Int.MaxValue else getTrace
val throwableShowLines: ShowLines[Throwable] = val throwableShowLines: ShowLines[Throwable] =
ShowLines[Throwable]((t: Throwable) => { ShowLines[Throwable]((t: Throwable) => {
List(StackTrace.trimmed(t, traceLevel)) List(StackTrace.trimmed(t, traceLevel))

View File

@ -13,15 +13,20 @@ object MainAppender {
def multiLogger(log: ManagedLogger, config: MainAppenderConfig): ManagedLogger = { def multiLogger(log: ManagedLogger, config: MainAppenderConfig): ManagedLogger = {
import config._ import config._
// TODO // TODO
// console setTrace screenTrace
// backed setTrace backingTrace // backed setTrace backingTrace
// multi: Logger // multi: Logger
// val log = LogExchange.logger(loggerName)
LogExchange.unbindLoggerAppenders(log.name) LogExchange.unbindLoggerAppenders(log.name)
LogExchange.bindLoggerAppenders( LogExchange.bindLoggerAppenders(
log.name, log.name,
(consoleOpt.toList map { _ -> screenLevel }) ::: (consoleOpt.toList map { appender =>
appender match {
case a: ConsoleAppender =>
a.setTrace(screenTrace)
case _ => ()
}
appender -> screenLevel
}) :::
List(backed -> backingLevel) ::: List(backed -> backingLevel) :::
(extra map { x => (extra map { x =>
(x -> Level.Info) (x -> Level.Info)

View File

@ -4,7 +4,7 @@
package sbt.internal.util package sbt.internal.util
object StackTrace { object StackTrace {
def isSbtClass(name: String) = name.startsWith("sbt") || name.startsWith("xsbt") def isSbtClass(name: String) = name.startsWith("sbt.") || name.startsWith("xsbt.")
/** /**
* Return a printable representation of the stack trace associated * Return a printable representation of the stack trace associated