Dưới đây là những gì tôi đang làmPython: Logging Lỗi Loại: không phải tất cả đối số được chuyển đổi trong chuỗi định dạng
>>> import logging
>>> logging.getLogger().setLevel(logging.INFO)
>>> from datetime import date
>>> date = date.today()
>>> logging.info('date={}', date)
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 846, in emit
msg = self.format(record)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 723, in format
return fmt.format(record)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 464, in format
record.message = record.getMessage()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 328, in getMessage
msg = msg % self.args
TypeError: not all arguments converted during string formatting
Logged from file <stdin>, line 1
>>>
phiên bản python của tôi là
$ python --version
Python 2.7.3
Làm thế nào để làm cho nó hoạt động?
Đừng biết rằng bằng cách làm như định dạng chính mình, bạn mất lợi thế tốc độ được cung cấp bằng cách cho phép các module khai thác gỗ làm điều đó cho bạn * chỉ khi được thông báo là thực sự đã đăng nhập *. Nói cách khác, nếu bạn sử dụng trình xử lý 'debug()' nhưng mức ghi nhật ký không bao gồm mức DEBUG, bạn sẽ không phải chịu hình phạt của hoạt động định dạng chuỗi. Sự khác biệt tốc độ có thể là đáng kể nếu bạn có rất nhiều thông báo gỡ lỗi. –