[英]logging in Django test with verbosity
我正在尋找一種僅當 Django 測試以高詳細級別運行時才寫入控制台的方法。 例如 - 當我跑步時
python manage.py test -v 3
它會將我的消息記錄到控制台,但是,當我運行時
python manage.py test -v 0
它不會記錄我的消息。
我嘗試在代碼中使用logger.info()
但消息根本不顯示。
有什么建議嗎?
-v
控制測試運行器本身的詳細程度(例如:數據庫創建等),而不是應用程序日志記錄的詳細程度。
您真正想要的是更改 django 應用程序本身的日志記錄級別,如 日志記錄文檔中所述。
您可能只想覆蓋僅用於測試的日志記錄設置,或者您可以使用--debug-mode
將settings.DEBUG
為True
,並在您的 settings.py 中包含特定於調試的配置(這很常見,因為它也開發時有幫助)。
這是如何實現后者的基本示例:
'loggers': {
'': {
'handlers': ['console', 'sentry'],
'level': 'INFO',
},
'myapp': {
'level': 'DEBUG' if DEBUG else 'INFO',
'propagate': True,
},
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.