Tôi muốn xuất thông điệp gỡ lỗi trong ứng dụng django của tôi tại các điểm khác nhau trong một chức năng xem. Các tài liệu cho các django-debug-toolbar nói rằng nó sử dụng xây dựng trong python đăng nhập nhưng tôi không thể tìm thấy bất kỳ thông tin thêm sau đó. Tôi không thực sự muốn đăng nhập vào một tệp nhưng vào ngăn thông tin trên thanh công cụ. Cái này hoạt động ra sao?Làm cách nào để sử dụng Ghi nhật ký trong Thanh công cụ gỡ lỗi Django?
Trả lời
Bạn chỉ cần sử dụng các phương thức logging module và DjDT sẽ chặn và hiển thị chúng trong Bảng ghi nhật ký.
import logging
logging.debug('Debug Message')
if some_error:
logging.error('Error Message')
Ghi nhật ký thẳng vào trình ghi nhật ký, như @ jonwd7 được đề cập, thường không được khuyến nghị. Nói chung, tôi đang theo mẫu này:
import logging
logger = logging.getLogger(__name__)
del logging # To prevent accidentally using it
...
logger.debug("Some message")
Điều này cho phép bạn kiểm soát tốt hơn nhiều so với thông điệp ghi nhật ký và không hiển thị. Thật không may, bằng cách sử dụng nó theo cách này dừng django debug thanh công cụ từ chụp bất kỳ tin nhắn đăng nhập, trừ khi bạn chỉ định một cấu hình đăng nhập cụ thể. Đây là đơn giản nhất tôi có thể đưa ra:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'incremental': True,
'root': {
'level': 'DEBUG',
},
}
Setting "gia tăng" và "disable_existing_loggers" đều quan trọng vì vậy bạn không vô hiệu hóa xử lý các thanh công cụ gắn liền với logger gốc. Tất cả những gì bạn muốn làm là đặt loglevel của logger gốc thành "DEBUG". Bạn cũng có thể sử dụng mục nhập "logger" để thiết lập các mức cho các logger cụ thể. Chỉ cần bỏ qua phần "Trình xử lý" và đặt "tuyên truyền": Đúng để chúng được xử lý bởi trình xử lý DjDT.
Nếu bạn hiện có cấu hình LOGGING dict, và bạn không muốn làm hỏng nó bằng cách chuyển sang 'incremental', bạn sẽ cần phải thêm lại nhật ký DjDT làm trình xử lý, sau đó thêm nó vào danh sách các trình xử lý của trình ghi nhật ký gốc.
from debug_toolbar.panels.logging import collector # needed for handler constructor below
LOGGING = {
# existing options, formatters, loggers, etc
handlers = {
# existing handlers
'djdt_log': {
'level': 'DEBUG',
'class': 'debug_toolbar.panels.logging.ThreadTrackingHandler',
'collector': collector,
},
},
'root': {
'level': 'DEBUG',
'handlers': ['djdt_log'],
},
}
Nếu có cách nào để làm điều này, tôi rất muốn xem.
- 1. Làm cách nào để xem thanh công cụ gỡ lỗi Django?
- 2. Thiết lập thanh công cụ gỡ lỗi Django
- 3. Công cụ ghi nhật ký gỡ lỗi nào có sẵn từ Javascript?
- 4. Thanh công cụ gỡ lỗi cho ASP.NET
- 5. Làm cách nào để đưa Thanh công cụ gỡ lỗi web vào trong Symfony Response?
- 6. Cách sử dụng ELMAH để ghi nhật ký lỗi theo cách thủ công
- 7. Gỡ lỗi và ghi nhật ký đơn giản bằng System.Diagnostics
- 8. Python- Làm cách nào để xóa nhật ký? (django)
- 9. Lỗi ghi nhật ký để gỡ lỗi và gỡ lỗi, thông tin để stdout với log4j
- 10. jersey.api.client.WebResource - cách gỡ lỗi/ghi nhật ký yêu cầu
- 11. Gỡ lỗi và ghi nhật ký trong thang máy Sử dụng SBT
- 12. Làm cách nào để tận dụng việc ghi nhật ký SLF4J trong khung công tác Play2.1?
- 13. Làm cách nào để tạo màu ghi nhật ký trong Django/Google App Engine?
- 14. Làm cách nào để tắt ghi nhật ký cho một phụ thuộc cụ thể trong SBT?
- 15. Lỗi ghi nhật ký có lập trình Với Elmah: Ghi nhật ký thông tin cụ thể
- 16. log4net không ghi nhật ký các câu lệnh gỡ lỗi
- 17. writeToFile không thành công - làm cách nào để gỡ lỗi WHY không thành công (công cụ nào)?
- 18. Làm cách nào để tạo thanh công cụ trông giống như thanh công cụ trong Keynote?
- 19. Làm cách nào để ghi vào tệp nhật ký apache khi sử dụng mod_wsgi
- 20. apache httpclient ghi nhật ký mật khẩu trong văn bản rõ ràng khi gỡ lỗi ghi nhật ký được bật
- 21. Công cụ để gỡ lỗi makefiles
- 22. Công cụ gỡ lỗi xslt
- 23. cách sử dụng ghi nhật ký bên trong Gevent?
- 24. Lỗi ghi nhật ký trong ASP.NET MVC
- 25. Sử dụng chú thích để ghi nhật ký theo dõi
- 26. Công cụ tốt để gỡ lỗi VerifyError?
- 27. Cách định cấu hình cấp nhật ký của lớp cụ thể trong ghi nhật ký GWT?
- 28. UTF-8 Trong ghi nhật ký Python, làm cách nào?
- 29. Ghi nhật ký sản xuất trong Flex
- 30. Công cụ gỡ lỗi MySQL truy vấn chậm?
Cảm ơn bạn đã đi sâu vào chi tiết với trình ghi nhật ký gốc. Đó là thông tin mà các câu trả lời khác thiếu. – jnns
phần thiết lập đã giúp tôi, cảm ơn! Lời khuyên tốt cho năm 2016 – Jeff