У меня есть контейнер openshift, выполняющий задание cron. Эта работа cron запускает некоторый код на python.
Я настроил регистратор для потоковой передачи журналов на стандартный вывод, и я ожидаю увидеть эти журналы при запросе «oc logs [pod] -c [container]», но я не могу.
Это определенный логгер:
import os
import logging.config
synthetic_home = os.environ.get('SYNTHETIC_HOME')
logPath = '{0}/logs/'.format(synthetic_home)
fileName = 'synthetic.log'
synthetic_log_name = os.environ.get('LOG_NAME')
if not synthetic_log_name:
synthetic_log_name = 'synthetic-onlinevideoservices'
config = {
'version': 1,
'disable_existing_loggers': False,
},
'formatters': {
'standard': {
'format': '%(asctime)s, {0}, SYNTH_TEST, %(levelname)s, FCID=%(fcid)s, *%(test_name)s* %(message)s'.format(synthetic_log_name),
# 'datefmt': '%Y-%m-%dT%H:%M:%S.%f%z',
},
},
'handlers': {
'file': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': '{0}/{1}'.format(logPath, fileName),
'formatter': 'standard'
},
'stream': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'standard'
}
},
'loggers': {
'results': {
'handlers': ['stream'],
'level': 'INFO',
'propagate': True
}
}
}
logging.config.dictConfig(config)
Я не уверен, важен ли тот факт, что этот код запускается из задания cron или нет.
В любом случае мне нужно, чтобы журналы INFO отображались в «oc logs», а они нет.
Что я делаю не так?