Jua*_*njo 2 logging grep docker
我们都知道,我们可以在日志文件中搜索字符串并显示搜索字符串的周围行:
grep -AXX -BXX "searched" file.log
是否可以使用 docker log 命令执行相同的操作?
我想要做的是,如果已经知道我正在搜索的字符串发生在大约一小时前,则使用“since”与“after”和“before”,仅获取结果而不是所有日志,例如如下所示:
docker log --since=65m -A20 -B5“搜索字符串”[ID]
现在我将所有内容复制到一个文件中,有时会产生一个大文件,并使用 grep:
docker logs --since=65m [ID] >> file.log
grep -AXX -BXX "searched" file.log
根据文档,你不能。但是,您可以使用管道 grep
docker logs | grep "whatever"
Run Code Online (Sandbox Code Playgroud)
然而,出于开发目的,我使用datalust/seq - 只需将图像添加到您的 docker-compose 文件中,并使用小配置(取决于您使用的语言)将日志重定向到漂亮的可搜索门户。
docker logs | grep "whatever"
Run Code Online (Sandbox Code Playgroud)
门户(在http://localhost:8082我将默认80端口从容器重定向到我的8082端口时):

出于生产目的,我建议使用能够自动收集日志的东西,stdout例如stderr:
为您的应用程序提供有关日志记录和监控的最高标准。
| 归档时间: |
|
| 查看次数: |
3472 次 |
| 最近记录: |