无法将容器中的python标准输出日志获取到";oc日志“;
我有一个运行cron作业的openshift容器。这个cron作业运行一些python代码。 我已经设置了一个记录器,将日志流式传输到stdout,我希望在查询“oc logs[pod]-c[container]”时可以看到这些日志,但我没有 这是定义的记录器:无法将容器中的python标准输出日志获取到";oc日志“;,python,cron,containers,openshift,stdout,Python,Cron,Containers,Openshift,Stdout,我有一个运行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(synthe
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作业运行这一事实在这里是否重要。
在任何情况下,我都需要信息日志反映在“oc日志”中,而事实并非如此。
我做错了什么?我看不到您将
sys.stdout
指定为StreamHandler
的流的任何地方。StreamHandler
的默认流是None
ext://sys.stdout谢谢@WillGordon-现在试试还是不行。流记录器现在看起来是这样的:'stream':{'level':'INFO','class':'logging.StreamHandler','formatter':'standard','filters':['fcid\u filter','test\u name\u filter'],'stream':'ext://sys.stdout“}
只是为了测试,为什么不试试流:{'level':'DEBUG','class':'logging.StreamHandler','formatter':'standard','stream':'ext://sys.stdout' }
sys.stdout作为StreamHandler
的流,我看不到任何地方指定sys.stdout
作为流。StreamHandler
的默认流是None
。其中有一个示例显示流:ext://sys.stdout
谢谢@WillGordon-现在试一试仍然不起作用。流gger现在看起来像这样:'stream':{'level':'INFO','class':'logging.StreamHandler','formatter':'standard','filters':['fcid\u filter','test\u name\u filter'],'stream':'ext://sys.stdout“}
只是为了测试,为什么不试试流:{'level':'DEBUG','class':'logging.StreamHandler','formatter':'standard','stream':'ext://sys.stdout“}