2017-06-10 40 views
1

我正在開發一個scala項目,當我測試程序時需要打印一些調試信息。我在程序的中間放置了一些打印功能。但我只是想運行它們,如果我已經激活了一些調試標誌或類似的東西。scala的功能開關

我找不到乾淨的方式去做我想做的事。我想知道是否有什麼我可以使用的?

只是爲了解釋更多關於我的項目,我正在使用鑿子庫生成硬件和建築物,我使用SBT。

+0

爲什麼不只是使用像logback這樣的標準日誌記錄庫? –

+0

如果是臨時需求,您可以使用布爾值。如果你想要更乾淨的東西,你應該看看日誌解決方案,比如log4j,它支持可配置的日誌記錄級別。 – jeff

+0

您是指在精加工時打印或在電路模擬時打印? – jkoenig

回答

2

通常它是通過日誌記錄解決的。然後運行的應用程序選擇你想看哪個級別的消息之前,可以先看看Scala Logging

你寫代碼日誌語句具有不同程度的嚴重性

logger.debug("This is very convenient ;-)") 

... 
logger.error("Something is really wrong") 

的。通常在正常情況下的警告和錯誤或調試時的調試信息

+0

不幸的是這個答案實際上並不是用戶想要的。鑿子是構建硬件AST的DSL,然後可以發射和模擬。用戶想要一個在仿真時間工作的日誌庫,此時不存在。 – jkoenig