Tại dự án hiện tại của tôi có hàng ngàn dòng mã mà trông như thế này:Redefining gốc khai thác gỗ logger
logging.info("bla-bla-bla")
Tôi không muốn thay đổi tất cả những dòng này, nhưng tôi sẽ thay đổi hành vi log. Ý tưởng của tôi đang thay đổi logger gốc để Experimental
logger khác, mà được cấu hình bởi ini file:
[loggers]
keys = Experimental
[formatter_detailed]
format = %(asctime)s:%(name)s:%(levelname)s %(module)s:%(lineno)d: %(message)s
[handler_logfile]
class = FileHandler
args = ('experimental.log', 'a')
formatter = detailed
[logger_Experimental]
level = DEBUG
qualname = Experimental
handlers = logfile
propagate = 0
Bây giờ thiết lập các logger gốc mới được thực hiện bằng đoạn mã này:
logging.config.fileConfig(path_to_logger_config)
logging.root = logging.getLogger('Experimental')
là xác định lại của root logger an toàn? Có lẽ có cách thuận tiện hơn?
Tôi đã cố gắng sử dụng google và xem qua các câu hỏi về lưu lượng truy cập, nhưng tôi không tìm thấy câu trả lời.
Đầu tiên. Công việc này có hiệu quả không? Bạn có một vấn đề thực tế? Thứ hai. Xác định "thuận tiện hơn" Hai dòng mã có vẻ rất thuận tiện. Bạn có thể tưởng tượng ra sao? –
Nó hoạt động! Nhưng tôi nghi ngờ, điều này trông giống như một hack. "Thuận tiện hơn" có nghĩa là: "sử dụng một số tính năng tiêu chuẩn của mô-đun đăng nhập". Lấy làm tiếc. –
Người đàn ông tốt! Định dạng thật tuyệt vời. –