我非常沮丧如何使IDEA输出从测试到控制台。我尝试过不同版本的Scala,ScalaTest和IDEA - 没有任何帮助。目前我的设置是:scala-2.10.0-snapshot,scalatest_2.9.1-1.6.1,idea 110.3。该项目由maven管理。有人可以帮忙吗?我期待看到类似的东西:http://www.scalatest.org/getting_started_with_feature_spec
答案 0 :(得分:2)
看起来这是Idea Scala插件的问题。后来的构建开始将一些输出放入控制台,但不是人们应该期待的一切。有关插件的最新版本,请查看http://confluence.jetbrains.net/display/SCA/Scala+Plugin+Nightly+Builds+for+Nika
答案 1 :(得分:1)
我刚刚经历了整个“受到IDEA惩罚”的事情,我有这个解决方案......
<dependency>
<groupId>com.weiglewilczek.slf4s</groupId>
<artifactId>slf4s_${scala.version}</artifactId>
<version>1.0.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>0.9.30</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.30</version>
</dependency>
注意:
我在slf4s artifactId中使用了$ {scala.version} - 确保你已经定义了这个或用2.9.1或类似的东西替换它。
另外 - 你也需要scala-tools repo可用于依赖 - 我假设你有,因为我认为你需要它来编译。
然后将名为logback.xml的文件添加到包含以下内容的资源文件夹中:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date,%d{HH:mm:ss.SSS},%thread,%-5level,%logger{36},%line,%msg%n</pattern>
</encoder>
</appender>
<root level="TRACE">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
我的模式可能有点奇怪 - 它实际上来自一个文件追加器,它将其作为CSV格式化,我可以轻松地在Excel中打开和绘图。
然后在您的应用中扩展特征记录,如下所示:
import swing._
import com.weiglewilczek.slf4s.Logging
object App extends SwingApplication with Logging {
override def startup(args: Array[String]) {
logger.info("Starting init...")
}
}
信息消息,“正在启动初始化...”以及其他一些内容应该出现在控制台窗口中。
Logback和slf4s是我链接到的主题。
重要且令人敬畏:
我不记得它叫什么,但你用来发布消息的日志记录方法都有像info(message:=&gt; String)这样的签名 - 正如你在logger.scala中看到的那样。
这意味着如果配置文件中未启用相关级别的日志记录,则传递给它们的表达式或块将不会在所有中执行。
所以它只在代码关闭时添加一个方法调用和一个标志检查 - 这是非常甜蜜的imho:)
希望有所帮助, 塞特。