背景
前端请求接口后, 业务数据流可能会经过一层又一层的服务,而后得到结果。最近有一个老项目, 服务包有十来个,接口请求后,会经过一层又一层的服务调用。假若接口报错,又不是很熟悉项目的情况下,排查哪个服务抛出的异常都有点费劲。于是乎,写了一个脚本来处理。
实现
很早之前,写过一个从多个服务器获取服务日志,并且统一输出的python脚本。但此项目刚好所有的包都在同一服务器上,那么能不能用几行简单的命令来实现呢?
工作中,查看实时日志一般都是使用命令:
tail -f file.log
如果查看多个文件的日志,那么:
tail -f file.log file2.log file3.log
根据上述这个套路, 我们可以实现之前的构想。直接tail -f file.log file2.log file3.log ... 所有日志文件
。具体实现如下:
#!/bin/bash
arr=(/logs/business/logs/stdout.log /logs/itn/logs/stdout.log /logs/openapi/logs/stdout.log /logs/viewpoint/logs/stdout.log /logs/common/logs/stdout.log /logs/push/logs/stdout.log /logs/operate/logs/stdout.log /logs/sms/logs/stdout.log /logs/chat/logs/stdout.log /logs/configure/logs/stdout.log /logs/uc/logs/stdou