[英]Declaring an SLF4J logger from inside a Scala driver
我有以下Scala類( MyApp.scala
):
package me.myapp
import org.slf4j.Logger
import org.slf4j.LoggerFactory
object MyApp {
val logger = LoggerFactory.getLogger(classOf[MyApp])
def main(args : Array[String]) : Unit = {
logger.info("Well hello SLF4J!")
}
}
運行此命令時,出現編譯器錯誤:
/Users/myuser/workspace/myapp/src/main/scala/me/myapp/MyApp.scala:7: not found: type MyApp
val logger = LoggerFactory.getLogger(classOf[MyApp])
^
one error found
因此,我需要將MyApp
用作object
(而不是class
),以便可以有一個靜態main
方法(用於我的可執行JAR),但是由於MyApp
是一個object
,因此classOf[MyApp]
似乎並沒有真正解析到任何東西。
因此,一些相關的問題:
objects
不是類? 如果它們不是類,那么將main
方法放進去是如何擺脫的呢? 和 MyApp
的SLF4J記錄器? 對象確實有一個類,但是我不認為它的名字叫對象名。
只需使用LoggerFactory.getLogger(getClass)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.