Làm việc trên một dự án yêu cầu tôi có thể chọn đối tượng chứa tại bất kỳ thời điểm nào, vì chúng tôi hy vọng nó không hoạt động thường xuyên ở bên ngoài và có thể nhận được nơi chúng tôi rời đi.Bạn không thể hái logger?
Tôi đang sử dụng thư viện khai thác gỗ trăn khá rộng rãi, và tất cả các lớp học của tôi bắt đầu bằng cách thiết lập một logger như:
class foo:
def __init__(self):
self.logger = logging.getLogger("package.foo")
Kể từ khi tôi đang tẩy một lớp container, nó có một số lớp của các lớp học bên trong nó, mỗi người có cá thể logger riêng của họ.
Bây giờ, vì một số lý do, những người đăng nhập này đang phá vỡ Pickle. Tôi nhận được lỗi sau, sẽ biến mất nếu tôi xóa self.logger khỏi tất cả các lớp:
Can't pickle 'lock' object: <thread.lock object at ... >
Vì vậy, câu hỏi của tôi là có hay không có cách nào đó để xóa các đối tượng khóa khỏi tất cả nhật ký mà không phải recurse thông qua toàn bộ cây đối tượng của tôi xóa logger mà tôi sẽ phải tạo lại trên unpickle.
Có lẽ bạn có thể liên kết tới (hoặc trích dẫn) câu trả lời chính xác mà bạn đã sử dụng? (Có hai) Có nút "liên kết" bên dưới bất kỳ câu trả lời nào bạn có thể nhấp vào cho url. – PriceChild