我有一个运行cron作业的openshift容器。此cron作业运行一些python代码。 我已经设置了一个记录器以将日志流式传输到stdout,我希望在查询“ 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日志”中,而事实并非如此。 我在做什么错了?