Nie wiem, dlaczego ten kod jest drukowany na ekranie, ale nie do pliku? Plik "example1.log" jest tworzony, ale nic tam nie jest zapisywane.Python za pomocą metody basicConfig do logowania do konsoli i pliku
#!/usr/bin/env python3
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(message)s',
handlers=[logging.FileHandler("example1.log"),
logging.StreamHandler()])
logging.debug('This message should go to the log file and to the console')
logging.info('So should this')
logging.warning('And this, too')
ja „obejść” ten problem poprzez utworzenie obiektu rejestrowania (example code), ale to wciąż dręczy mnie dlaczego basicConfig() podejście nie powiodło?
PS. Jeśli zmienię basicConfig wywołanie:
logging.basicConfig(level=logging.DEBUG,
filename="example2.log",
format='%(asctime)s %(message)s',
handlers=[logging.StreamHandler()])
Wtedy wszystkie dzienniki są w pliku i nic nie jest wyświetlana w konsoli
W Pythonie 2.7, tylko słowa kluczowe argumenty, które basicConfig rozumie to "nazwa pliku", "FileMode", "strumień", "Format", "datefmt" i "poziom". "handlery" nic nie robią. – TocToc