Python kullanarak bir kaydediciyi bir araya getirmeye çalışıyorum. 2.6'da çalışıyorum, bu yüzden yeni sözlük stili yöntemini kullanamıyorum ve eski moda yapılandırma dosyasıyla gidiyorum. Sorun şu ki, şeyler konsola iki kez çıktı ve nedenini anlayamıyorum. İşte benim test komut dosyası:Python Logger ikişer kez konsola giriş yapmak
import logging
import logging.config
if __name__ == "__main__":
logging.config.fileConfig("newSlogger.conf")
slogger = logging.getLogger("sloggerMain")
slogger.debug("dbg msg")
slogger.info("herp derp dominae")
İşte benim yapılandırma dosyası var:
[loggers]
keys=root,sloggerMain,sloggerSecondary
[handlers]
keys=consoleHandler,infoFileHandler,debugFileHandler
[formatters]
keys=consoleFormatter,infoFileFormatter,debugFileFormatter
[logger_root]
handlers=consoleHandler
level=NOTSET
[logger_sloggerMain]
handlers=consoleHandler,infoFileHandler,debugFileHandler
level=DEBUG
qualname=sloggerMain
[logger_sloggerSecondary]
handlers=consoleHandler,infoFileHandler,debugFileHandler
level=DEBUG
qualname=sloggerSecondary
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
format=consoleFormatter
args=(sys.stdout,)
[handler_infoFileHandler]
class=FileHandler
level=INFO
formatter=infoFileFormatter
args=("testlog.log", "w")
[handler_debugFileHandler]
class=FileHandler
level=DEBUG
formatter=debugFileFormatter
args=("testlogdbg.log", "w")
[formatter_consoleFormatter]
format=%(name)s: %(asctime)s %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
[formatter_infoFileFormatter]
format=%(name)s: %(asctime)s %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
[formatter_debugFileFormatter]
format=%(name)s: %(asctime)s %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
[formatter_syslogFormatter]
format=%(name)s: %(asctime)s %(levelname)s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
Herhangi bir fikir?