0
我的構建使用a library運行Grunt進行js/css縮小。我通過定義一個咕task任務來製作一個基本的sbt包裝器,所以當我在sbt控制檯中運行「grunt」時,它會在我的項目資源中通過Node.js運行。從構建內使用SLF4J
我正在使用的庫正在通過SLF4J進行日誌記錄。 (使用SLF4J的ClassLoader查找機制。) 如何爲它提供SLF4J記錄器,以便將輸出記錄到sbt控制檯?
我已經試過的一件事是從SLF4J寫一個簡單的StaticLoggerBinder實現,並將其放入.my_project/project/src/main/scala/org/slf4j/impl/StaticLoggerBinder.scala
。 但是,類加載器(sbt's或slf4j的)無法在類路徑中找到它...
你應該使用SBT的日誌記錄API,如果你是SBT內。這種方式的任務輸出將與'最後一個'任務一起工作。有關示例,請參閱:http://www.scala-sbt.org/0.13.0/docs/Howto/logging.html#log。您應該能夠使用Process API將grunt進程直接傳送到sbt記錄器。 – jsuereth
感謝您的回答!問題是,我使用的庫,通過設計,通過SLF4J記錄(所以它可以從多個構建工具中使用 - 例如Maven提供自己的記錄器實現,與sbt的實現不同,但Maven的日誌和SLF4J之間有一個brigde,這很容易,Gradle直接使用SLF4J就我所知。)我不確定sbt是否存在相同的情況? –
我不這麼認爲。但是,如果你想貢獻它,這(橋)聽起來像是一個有用的插件。 – jsuereth