ts = str(datetime.datetime.now())
log = "DIF_logfile_" + ts
logging.basicConfig(filename=log, format='%(asctime)s %(message)s', filemode='w')
logger = logging.getLogger()
config.read(sys.argv[1])
mode = logger.error
logger.setLevel(mode)
for tbl in table:
try:hive_tbl = config.get(tbl, "hive_tbl")
except:logger.error("Table doesn't exists")
#except:print "Table doesn't exists"
Когда переданное значение tbl ошибочно, я не могу написать исключение в файл журнала, но если я распечатаю его в консоли. Я передаю значение tbl из файла конфигурации.
Этот код не должен работать, эти строки:
logger = logging.getLogger()
mode = logger.error
logger.setLevel(mode)
Должно быть так:
logger = logging.getLogger()
mode = logging.ERROR
logger.setLevel(mode)
После того как я сменил их, это сработало. Еще одно упоминание: убедитесь, что эти строки:
ts = str(datetime.datetime.now())
log = "DIF_logfile_"+ts
Создайте правильное имя файла, они не были в моей системе
ts = str(datetime.datetime.now()) log = "DIF_logfile_" + ts logging.basicConfig(filename=log, format='%(asctime)s %(message)s', filemode='w') logger = logging.getLogger() config.read(sys.argv[1]) mode = logger.error logger.setLevel(mode)
Это первая часть кода