summaryrefslogtreecommitdiff
path: root/examples/scala-js/sbt-plugin/src/test/scala/scala/scalajs/sbtplugin/test/env/StoreLogger.scala
blob: 985b1492dc8e4453ad31650137a0706ded841211 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package scala.scalajs.sbtplugin.test.env

import scala.scalajs.tools.logging._

import scala.collection.mutable.ListBuffer

class StoreLogger extends Logger {
  import StoreLogger._

  private[this] val buf = new ListBuffer[LogElem]

  def log(level: Level, message: => String): Unit =
    buf += Log(level, message)
  def success(message: => String): Unit =
    buf += Success(message)
  def trace(t: => Throwable): Unit =
    buf += Trace(t)

  def getLog: List[LogElem] = buf.toList
}

object StoreLogger {

  abstract class LogElem
  case class Log(level: Level, message: String) extends LogElem
  case class Success(message: String) extends LogElem
  case class Trace(t: Throwable) extends LogElem

}