[英]How to bind container's application file log with Kubernetes logs command?
I have developed a web microservice in Golang.我用 Golang 开发了一个 web 微服务。 I have used zap logger to log the application log in a file at location /var/log/myapp/myapp.log .
我使用 zap logger 将应用程序日志记录在位于/var/log/myapp/myapp.log的文件中。
I want to see log information in file myapp.log through below command:我想通过以下命令查看文件 myapp.log 中的日志信息:
#kubectl logs mayappPod #kubectl 记录 mayappPod
But it is not working as by default STDOUT and STDERR output is redirected to kubectl logs command.但默认情况下,STDOUT 和 STDERR output 已重定向到 kubectl logs 命令,因此它无法正常工作。
So my question is what exactly I am supposed to do to see the /var/log/myapp/myapp.log log through kubectl logs command.所以我的问题是我应该怎么做才能通过 kubectl logs 命令查看 /var/log/myapp/myapp.log 日志。
Thanks, Rohit谢谢,罗希特
kubectl logs
command just show you logs from container(s) you specified. kubectl logs
命令只显示您指定的容器中的日志。 And container got logs from STDOUT
and STDERR
.容器从
STDOUT
和STDERR
获取日志。
The recommended way is to setup your logging library to write logs to STDOUT
.推荐的方法是设置日志库以将日志写入
STDOUT
。 But as a workaround you can create symlink from /var/log/myapp/myapp.log
to /dev/stdout
in your docker container.但作为一种解决方法,您可以在 docker 容器中创建从
/var/log/myapp/myapp.log
到/dev/stdout
的符号链接。
Another option is not use kubectl logs
at all.另一种选择是根本不使用
kubectl logs
。 You could copy this log file from your pod using kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
see您可以使用
kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
从您的 pod 复制此日志文件, 请参阅
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.