Tôi đã phát hiện ra rằng logback
(bởi Ceki Gülcü) hoạt động tuyệt vời và bảo tồn số dòng quá !
(Và nó hoạt động như một sự thay thế cho log4j
: Awesome)
import ch.qos.logback._
import org.slf4j._
object Main {
def logger = LoggerFactory.getLogger("Main")
var thingy = {
x:Int =>
logger.info("x=" + x)
x + 1
}
def main(args: Array[String]) {
logger.info("Hello.")
logger.info("Hello again!")
val myInts : List[Int] = List(-25,1,5,20)
val myInts2 : List[Int] = myInts.filter { x:Int => x > 0 }
logger.info("my ints2:" + myInts2)
val myInts3 = myInts2.map(p => p * 2)
logger.info("my ints3:" + myInts3)
logger.info(thingy(1) + "")
}
}
Đối với bất cứ ai đang gặp khó khăn để bắt đầu với Scala, đây là những gì tôi đã làm để có được những bộ xương cơ bản lên:
1) Download sbt-launcher.jar
và đặt nó một nơi nào đó như /opt/
tôi đã sử dụng "sbt-launch-0.7.5.RC0.jar
"
2) Tạo một kịch bản bash như một phím tắt để trình chạy SBT trong nano /opt/bin/sbt
:
012.351.
#!/bin/bash
java -jar /opt/sbt-launch-0.7.5.RC0.jar "[email protected]"
(làm cho nó thực thi)
$ sudo chmod ug+x ./sbt
Hãy chắc chắn rằng đó là trong con đường của bạn quá.
3) Tạo và cấu hình các dự án SBT:
$ mkdir ./sc01
$ cd ./sc01
$ sbt
$ mkdir ./project/build</pre>
$ nano ./project/build/Project.scala</pre>
đặt này trong đó:
import sbt._
class sc01(info: ProjectInfo) extends DefaultProject(info)
{
// dependencies
val logback_core = "ch.qos.logback" % "logback-core" % "0.9.24" % "compile" //LGPL 2.1
val logback_classic = "ch.qos.logback" % "logback-classic" % "0.9.24" % "compile" //LGPL 2.1
val log4j_over_slf4j = "org.slf4j" % "log4j-over-slf4j" % "1.6.1"
// if you are going to have any unmanaged (manually-added) jars
// def baseDirectories = "lib"
// def extraJars = descendents(baseDirectories, "*.jar")
// override def unmanagedClasspath = super.unmanagedClasspath +++ extraJars
// tasks - easy to define
lazy val hi = task { println("Hello World"); None }
// classpath
//override def mainScalaSourcePath = "src"
}
4) Dán những thứ từ trên vào chi tiết:
$ nano ./src/main/scala/Main.scala
5) Tôi gần như quên mất! đặt điều này trong /src/main/resources/logback.xml
(nó yêu cầu để có được số dòng)
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} %line --- %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
6) $ sbt
Bây giờ bạn phải ở trong sbt
console trong vỏ của bạn:
> update
> compile
> run
Hy vọng điều này giúp.
Phản hồi thú vị. Tôi sẽ thử. +1 (đừng quên rằng bạn có thể chọn câu trả lời của riêng bạn làm câu trả lời chính thức) – VonC
Bạn đang giải thích ở đây là _so_ tốt hơn nhiều rồi là tài liệu sbt. Ước gì tôi đã tìm thấy câu trả lời này sớm hơn. – srparish
@srparish Tôi rất vui vì nó đã giúp bạn! Tôi đã nhận được rất nhiều sự giúp đỡ trong sự nghiệp lập trình tương đối ngắn của tôi từ các bài đăng trên blog/danh sách gửi thư rác/xếp chồng mà tôi rất vui khi có thể đóng góp lại bất kỳ thứ gì tôi có thể cung cấp. – jpswain