我正在尝试根据它的类重新格式化发送到记录器的输出数据。
例如:
我的问题是发送给格式化程序的消息总是一个字符串。该文档明确指出您可以将对象作为消息发送,但它似乎是在将对象格式化之前将对象转换为字符串。
class MyFormatter(logging.Formatter):
def format(self, record):
#The problem is that record.message is already a string...
...
我处理作为消息发送的对象的适当位置在哪里?
答案 0 :(得分:4)
好的,我已经明白了。
官方文档中的文档有点不清楚,但基本上,有两个属性
LogRecord.message - >消息的字符串表示形式 和 LogRecord.msg - >消息本身。
要获取实际对象,必须引用.msg才能使其生效。
我希望这对其他人有用。
答案 1 :(得分:0)
也许在您正在记录的对象的__str__()
方法中?