簡體   English   中英

詳細登錄 Django 測試

[英]logging in Django test with verbosity

我正在尋找一種僅當 Django 測試以高詳細級別運行時才寫入控制台的方法。 例如 - 當我跑步時

python manage.py test -v 3

它會將我的消息記錄到控制台,但是,當我運行時

python manage.py test -v 0

它不會記錄我的消息。

我嘗試在代碼中使用logger.info()但消息根本不顯示。

有什么建議嗎?

-v控制測試運行器本身的詳細程度(例如:數據庫創建等),而不是應用程序日志記錄的詳細程度。

您真正想要的是更改 django 應用程序本身的日志記錄級別,如 日志記錄文檔中所述

您可能只想覆蓋僅用於測試的日志記錄設置,或者您可以使用--debug-modesettings.DEBUGTrue ,並在您的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM