Đây là kịch bản của tôi: Tôi muốn đăng nhập hoạt động của my_module. Điều này cần được thực hiện, tùy thuộc vào phương thức được thực thi (giả sử, INPUT và OUTPUT), với hai tệp khác nhau.Ghi nhật ký Python nhiều tệp bằng cùng một trình ghi
Vì vậy, tôi có hai Trình xử lý, mỗi điểm trỏ đến một tệp khác (my_in_.log & my_out_.log), với cùng cấp nhật ký. Tôi muốn biết nếu tôi có thể sử dụng cùng một logger để đạt được điều này hoặc tôi phải xác định hai logger. My cấu hình là:
[loggers]
keys=root, my_log
[handlers]
keys=my_in_hand, my_out_hand
[formatters]
keys=generic_form
...
[logger_my_log]
level=NOTSET
handlers=my_in_hand, my_out_hand
qualname=ws_log
[handler_my_in_hand]
class=handlers.TimeRotatingFileHandler
level=NOTSET
formatter=generic_form
args=('my_in_.log', 'h', 1, 0, None, False, True)
[handler_my_out_hand]
class=handlers.TimeRotatingFileHandler
level=NOTSET
formatter=generic_form
args=('my_out_.log', 'h', 1, 0, None, False, True)
Tôi có phải xác định một logger mỗi handler/đích? (vì tôi muốn đăng nhập thông tin khác nhau trong các tệp khác nhau) Có cách nào để chỉ ra trình ghi nhật ký mà trình xử lý sẽ thực hiện việc này không? Tôi có nghĩa là, tôi có hai xử lý cho một logger, sau đó chọn chỉ có một xử lý để đăng nhập một phương pháp.
Thx rất nhiều!
Có lẽ tôi không phải là rõ ràng: Tôi không muốn đăng nhập hồ sơ của tôi để ** mỗi handler ** thêm vào logger. Những gì tôi muốn là chọn trình xử lý nào sẽ ghi nhật ký, đó là, một trình ghi -> hai trình xử lý nhưng chọn đích nào sẽ được phân bổ. Bản ghi lại cùng một bộ ghi với các trình xử lý khác nhau, nhưng một số bản ghi sẽ được ghi bởi một trình xử lý , và một số với nhau ... Điều này có thể hoặc tôi phải xác định logger khác? CẢM ƠN NHIỀU! :) –
@ AlbertoMegía Bạn nên xác định phương thức của riêng bạn làm đối số đích đến của nhật ký và sử dụng bộ xử lý bên phải cho thông điệp tường trình. – mike
Vì vậy, bạn có nghĩa là tôi phải thêm và loại bỏ trình xử lý của trình ghi nhật ký để chọn nó trong thời gian chạy? Đây có thể không phải là lựa chọn tốt nhất của tôi bởi vì mô-đun này là chế độ xem trước của tôi trong dịch vụ web ... với mọi yêu cầu tôi sẽ phải chuyển bộ xử lý ...: S –