我正在開發一個scala項目,當我測試程序時需要打印一些調試信息。我在程序的中間放置了一些打印功能。但我只是想運行它們,如果我已經激活了一些調試標誌或類似的東西。scala的功能開關
我找不到乾淨的方式去做我想做的事。我想知道是否有什麼我可以使用的?
只是爲了解釋更多關於我的項目,我正在使用鑿子庫生成硬件和建築物,我使用SBT。
我正在開發一個scala項目,當我測試程序時需要打印一些調試信息。我在程序的中間放置了一些打印功能。但我只是想運行它們,如果我已經激活了一些調試標誌或類似的東西。scala的功能開關
我找不到乾淨的方式去做我想做的事。我想知道是否有什麼我可以使用的?
只是爲了解釋更多關於我的項目,我正在使用鑿子庫生成硬件和建築物,我使用SBT。
通常它是通過日誌記錄解決的。然後運行的應用程序選擇你想看哪個級別的消息之前,可以先看看Scala Logging
你寫代碼日誌語句具有不同程度的嚴重性
logger.debug("This is very convenient ;-)")
...
logger.error("Something is really wrong")
的。通常在正常情況下的警告和錯誤或調試時的調試信息
不幸的是這個答案實際上並不是用戶想要的。鑿子是構建硬件AST的DSL,然後可以發射和模擬。用戶想要一個在仿真時間工作的日誌庫,此時不存在。 – jkoenig
爲什麼不只是使用像logback這樣的標準日誌記錄庫? –
如果是臨時需求,您可以使用布爾值。如果你想要更乾淨的東西,你應該看看日誌解決方案,比如log4j,它支持可配置的日誌記錄級別。 – jeff
您是指在精加工時打印或在電路模擬時打印? – jkoenig