Tôi muốn thiết lập một bộ ghi Sentry cho một dự án Django. Tôi sẽ định nghĩa một trình xử lý sentry
và sẽ đặt trình xử lý đó vào bộ ghi gốc với mức error
.Root logger trong dictconfig
Theo tài liệu của logging
mô-đun, có một đặc biệt root
chính:
root
- đây sẽ là cấu hình cho logger gốc. Việc xử lý cấu hình sẽ giống như đối với bất kỳ trình ghi nào, ngoại trừ cài đặtpropagate
sẽ không được áp dụng.
Đồng thời ở other đặt trình ghi nhật ký với tên ''
được sử dụng để chứa cấu hình cho trình ghi nhật ký gốc.
Điều này có tác dụng tương tự không? Điều gì là thích hợp hơn?
>>> import logging
>>> logging.getLogger('') is logging.root
True
>>>
Điều này * không * có vẻ đúng khi xác định cấu hình ghi nhật ký của bạn với thuộc tính [settings.LOGGING] (https://docs.djangoproject.com/en/dev/topics/logging/#configuring-logging) trong Django 1.7! Tôi đang đăng nhập vào một logger có tên trong module views và bản ghi log được capture nếu tôi đã định nghĩa một logger có tên '''' trong 'LOGGING', nhưng * not * nếu tôi đặt tên là' 'root''. Thật không may, tài liệu Django không đưa ra tuyên bố về cách đối phó với trình ghi gốc. –
@hheimbuerger Nó không được đặt tên gốc trong logger dict, nó song song với các dict logger. Xem https://docs.python.org/2/library/logging.config.html#dictionary-schema-details để biết thêm thông tin. –