这是我的场景:我想记录 my_module 的活动。这需要根据执行的方法(例如,INPUT 和 OUTPUT)对两个不同的文件进行。
所以我有两个处理程序,每个处理程序都指向一个不同的文件(my_in_.log 和 my_out_.log),具有相同的日志级别。我想知道我是否可以使用同一个记录器来实现这一点,或者我必须定义两个记录器。我的配置是:
[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)
我是否必须为每个处理程序/目的地定义一个记录器(因为我想在不同的文件中记录不同的信息)?有没有办法向记录器指示哪个处理程序将执行此操作?我的意思是,我有一个记录器的两个处理程序,然后只选择一个处理程序来记录一种方法。