我正在运行一个带有Python应用程序的Docker容器,该应用程序使用Python标准stdout
lib将日志写入logging
。该容器不是托管在任何Google云端产品中,而是托管在我自己的计算机上。
我按照this guide和官方driver docs的说明将docker配置为使用gcplogs
驱动程序。
docker容器运行没有问题。但是,没有收集日志,因为我在Stackdriver日志记录查看器中看不到任何内容,除了每次执行docker容器时产生的一些奇怪的“ping”日志条目。
python记录器是通过dictConfig
配置的:
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple',
'stream': 'ext://sys.stdout'
},
使用此命令运行docker容器:
docker run --env-file `pwd`/.env \
--label app=oncrm \
--log-driver=gcplogs \
--log-opt gcp-meta-name= host_name\
--log-opt gcp-project=cloud_project_id \
--log-opt labels=app \
--name oncrm \
--net host \
--rm \
-v `pwd`/data:/code/data \
-v `pwd`/logs:/code/logs \
docker_image sh update_subs.sh
驱动程序文档并未真正指定从何处收集日志,但确实提到驱动程序也应在Google Cloud Platform / Products之外工作。
环境:
答案 0 :(得分:0)
您可能需要根据docker命令中Global
的选择将日志记录资源从gcp-project
切换到要登录的特定项目。 Stackdriver记录界面中的菜单中有一个Google Project
选项。