我使用標準的python日誌記錄模塊。當我打電話給python manage.py test
時,我想在所有測試運行之前禁用日誌記錄。是否有信號或其他類型的鉤子可以用來調用logging.disable?或者有沒有其他一些方法可以在python manage.py test
運行時禁用日誌記錄?在manage.py測試期間禁用日誌記錄?
回答
我知道的唯一方法就是編輯manage.py
本身......當然不是很優雅,但至少它應該讓你到你需要的地方。
我打了補丁test_extensions也這樣做。
作爲一個很不錯的選擇,你可以運行在您的設置測試時,禁用日誌文件是這樣的:
if 'test' in sys.argv:
logger.removeHandler(handler)
logger.setLevel(logging.ERROR)
謝謝 - 像魅力一樣工作! – 2010-12-16 10:51:59
我更喜歡有獨立settings_test.py,在那裏我可以刪除不必要的應用程序,中間件等運行測試測試過程中我不需要的東西。我可以通過這種方式在這裏禁用日誌輸出也:
from settings import *
import logging
# direct all logging output to nowhere
class NullHandler(logging.Handler):
def emit(self, record):
pass
logging.getLogger().addHandler(NullHandler())
./manage.py:error:no such option:--logging-clear-handlers – 2012-12-18 11:21:45
確實,我沒有指定,但你需要django-nose:https://github.com/jbalogh/django-鼻子和https://nose.readthedocs.org/zh-CN/latest/usage.html?highlight=#cmdoption--logging-clear-handlers – Rmatt 2012-12-19 17:52:04
最簡單的事情:
import logging
class MyTestClass(TestCase):
def setUp(self):
logging.disable(logging.CRITICAL)
這不需要編輯,打補丁,安裝額外的,等等。所有日誌記錄完全關閉。
如果使用django-nose,那麼你可以下面的代碼片段運行./manage.py test
NOSE_ARGS = [
'--nologcapture'
]
- 1. 在單元測試期間禁用python日誌記錄
- 2. 在測試執行期間更改日誌記錄級別
- 3. nHibernate在單元測試期間輸出sql日誌記錄
- 4. 禁用Hiera調試日誌記錄
- 5. 禁用n日誌記錄
- 6. 如何暫時禁用log4net的perf測試日誌記錄?
- 7. 在PDFBox上禁用日誌記錄
- 8. 在Laravel中禁用日誌記錄?
- 9. 在Android中禁用Apptentive日誌記錄
- 10. 在hapijs中禁用日誌記錄
- 11. 負載測試日誌記錄
- 12. 通過Gradle測試時記錄日誌
- 13. 在CakePHP 2.x的單元測試期間如何關閉日誌記錄?
- 14. 使用Batik Transcoder禁用日誌記錄?
- 15. 如何在單元測試目標c代碼時禁用日誌記錄
- 16. 使用系統日誌時禁用/啓用日誌記錄
- 17. 禁用Apache Flink日誌記錄
- 18. Uwsgi禁用django.request日誌記錄
- 19. Log4Net/C# - 禁用默認日誌記錄
- 20. 如何禁用Windows Installer日誌記錄?
- 21. laravel禁用查詢日誌記錄
- 22. 如何禁用卡蒙日誌測試?
- 23. 如何使用log4j禁用類的調試日誌記錄?
- 24. 使用.Net Core Console日誌記錄器記錄事件日期時間
- 25. 禁用活動記錄的Log4Net日誌記錄
- 26. 如何在Azure中禁用IIS的詳細無用日誌的日誌記錄
- 27. 批處理文件 - 格式日誌記錄的日期/時間
- 28. 單元測試應該使用日誌記錄嗎?
- 29. 如何配置休眠的JUnit測試公用日誌記錄
- 30. 禁用apache.http.wire調試日誌
阿當添加到您的
settings.py
文件以禁用日誌輸出,我沒有想到的是(...很明顯嘛) 。謝謝! – 2010-06-13 13:20:33@Eric,不客氣! – 2010-06-13 14:17:43