मैं ने पाया है कि logback
(Ceki Gülcü द्वारा) अच्छा काम करता है और लाइन नंबर भी बरकरार रखता है !
(और यह log4j
के लिए एक स्थानापन्न के रूप में काम करता है:! बहुत बढ़िया)
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) + "")
}
}
स्काला के साथ आरंभ करने के लिए संघर्ष कर किसी को भी के लिए, यह है कि मैं क्या बुनियादी कंकाल उठना किया है:
1) Download sbt-launcher.jar
और यह किसी ऐसे स्थान पर रखा /opt/
मैं इस्तेमाल किया "sbt-launch-0.7.5.RC0.jar
"
2) nano /opt/bin/sbt
में एसबीटी लांचर के लिए एक शॉर्टकट के रूप में एक bash स्क्रिप्ट बनाएं तरह:
012,351,
#!/bin/bash
java -jar /opt/sbt-launch-0.7.5.RC0.jar "[email protected]"
(यह निष्पादन योग्य बनाने के)
$ sudo chmod ug+x ./sbt
यकीन है कि यह अपने रास्ते में भी है सुनिश्चित करें।
3) बनाएँ और एसबीटी परियोजना कॉन्फ़िगर करें:
$ mkdir ./sc01
$ cd ./sc01
$ sbt
$ mkdir ./project/build</pre>
$ nano ./project/build/Project.scala</pre>
वहाँ में डाल इस:
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) मुख्य में ऊपर से सामान पेस्ट करें:
$ nano ./src/main/scala/Main.scala
5) मैं लगभग भूल ही गया था! /src/main/resources/logback.xml
में रखते (यह लाइन नंबर प्राप्त करने के लिए आवश्यक है)
<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
अब आप अपने खोल में sbt
कंसोल में होना चाहिए:
> update
> compile
> run
आशा इस मदद करता है.
दिलचस्प प्रतिक्रिया। मै उसे करने की एक कोशिश तो करूंगा। +1 (यह न भूलें कि आप आधिकारिक के रूप में अपना उत्तर चुन सकते हैं) – VonC
आप स्पष्टीकरण यहां एसएसटी दस्तावेज के बाद _so_ बेहतर हैं। इच्छा है कि मुझे यह जवाब जल्द ही मिल गया था। – srparish
@srparish मुझे खुशी है कि यह आपकी मदद करता है! मुझे ब्लॉग पोस्ट/स्टैक ओवरफ़्लो/मेलिंग सूचियों से मेरे अपेक्षाकृत कम प्रोग्रामिंग कैरियर में इतनी मदद मिली है कि मैं जो भी पेशकश कर सकता हूं उसे वापस योगदान करने में सक्षम होने में मुझे खुशी हो रही है। – jpswain