1
說我有一個StreamHandler和FileHandler添加到它的根記錄器。任何兒童記錄器都將繼承根記錄器。是否有任何方法可以修改子記錄器,例如,它以不同的格式保存消息,然後爲根記錄器配置該消息。按需更改記錄器
[<logging.StreamHandler instance at 0x0884B850>, <logging.FileHandler instance at 0x0C7A84E0>
說我有一個StreamHandler和FileHandler添加到它的根記錄器。任何兒童記錄器都將繼承根記錄器。是否有任何方法可以修改子記錄器,例如,它以不同的格式保存消息,然後爲根記錄器配置該消息。按需更改記錄器
[<logging.StreamHandler instance at 0x0884B850>, <logging.FileHandler instance at 0x0C7A84E0>
您可以附加一個新的處理程序在一個子記錄器,它有它自己的格式化程序。
您應該能夠創建一個處理程序,該處理程序將與根處理程序相同的文件寫入,因爲flush操作使用鎖定。
handler = logging.FileHandler(filename)
formatter = logging.Formatter(newformat)
handler.setFormatter(formatter)
log = logging.getLogger(yourloggername)
log.setHandler(handler)
log.propagate = False # don't send messages to the root, handle it all here