Questo è il mio scenario: voglio registrare l'attività di my_module. Questo deve essere fatto, a seconda del metodo eseguito (diciamo, INPUT e OUTPUT), a due file diversi.Python che registra più file usando lo stesso logger
Quindi ho due gestori, ognuno dei quali punta a un file diverso (my_in_.log & my_out_.log), con lo stesso livello di registro. Vorrei sapere se posso usare lo stesso registratore per ottenere questo o devo definire due logger. Il mio config è:
[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)
Devo definire un logger per handler/destinazione? (perché voglio registrare informazioni diverse in file diversi) C'è un modo per indicare al registratore quale gestore lo farà? Voglio dire, ho due gestori per un logger, quindi scelgo un solo gestore per registrare un metodo.
Grazie mille!
Forse non mi è chiaro: io non voglio registrare le mie record ** ** ogni gestore aggiunto allo strumento. Quello che voglio è selezionare quale gestore registrerà il record, cioè un logger -> due gestori ma scegliere a quale destinazione verrà assegnato il record. Riutilizza lo stesso registratore con diversi gestori, ma alcuni record verranno registrati da un gestore e alcuni con un altro ... È possibile o devo definire un altro logger? GRAZIE MILLE! :) –
@ AlbertoMegía È necessario definire il proprio metodo che prenda come argomento la destinazione del registro e utilizzi internamente il gestore di destra per il messaggio di registro. – mike
Quindi @ mike intendi che devo aggiungere e rimuovere il gestore del logger per selezionarlo in runtime? Questa potrebbe non essere la mia migliore opzione perché questo modulo è la mia vista frontale in un servizio web ... ad ogni richiesta dovrei cambiare gestore ...: S –