赞
踩
场景描述:
应用程序运行在 Docker环境中,
经常使用的查看后台日志的命令是:docker attach 容器名
该命令优点:实时输出;
不足之处:日志大量输出的时候,屏幕一闪而过,不便于调试,
并且有一个比较严重的问题,就是该命令在某些容器环境下,由于配置不同,ctrl+c命令退出的时候,会直接导致该容器停止。
其实,docker自身是集成封装了一些关于查看日志的命令的,组合使用,可帮助日常快速定位问题:
*显示所有 log*显示实时 log*使用 tail 查看 log 尾部*使用 grep 过滤 log*根据时间查看 log*组合使用* 把错误日志追加写入文件
1. 显示所有 log
# 显示某个容器的所有log
$ docker logs [OPTIONS]# 显示 docker-compose 启动的所有容器的log
$ docker-compose logs
2. 显示实时 log
类比linux下的命令tail -f ****.log
$ docker logs -f
3. 查看倒数最近的多少条日志记录
$ docker logs --tail 20
4. grep 过滤 log
$ docker logs | grep error
5. 根据时间查看 log
如只想查看某个时间点之后的日志,使用 --since 选项,显示从指定时间点到最新的日志:
$ docker logs --since 2019-04-20T15:05:34.483942Z
--since指定了开始时间点,还可以指定结束时间点,使用选项 --until,显示二者之间的日志:
$ docker logs --since 2019-04-20T15:05:34.483942Z --until 2019-04-23T15:05:34.483942Z
6. 组合使用
$ docker logs --tail 10 |grep info
$ docker logs-f --since xxx --tail=10
7. 把错误日志追加写入某个文件
$ docker logs -t | grep error >> logs_error.txt
如果公司有自己的内部日志分析系统,这里可以每天定时采集错误日志,并将错误日志文件,导入日志系统,分析。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。