今日主题:使用Shell 脚本快速定位项目工程的错误日志

在工作中,我们会发现,随着需求的不断迭代,项目系统变得越发的复杂,一个项目系统里需要同时部署N个项目工程。

如何快速的去检查当前所有项目工程的日志是否有报错就成了一个棘手的问题。

面对这个问题,我的选择是使用Shell 脚本来实现项目工程的错误日志查找与定位。

以下内容是Shell 脚本的实现内容,每一行都有对应的注释,帮助理解。

1root@l-test bin # more c #检查一个目录下所有指定日志文件中的报错 2 3日志脚本 4#!/usr/bin/env bash #是对shell的声明 5 6#定义一个变量,用于指定扫描日志的目录 7base="/home/project" 8 9#shell 中无限循环定义 10while [[ 1 ]]; do 11 12#for 循环开始遍历目录下的文件,过滤掉default目录 13 for name in `ls $base | grep -vE "default"`; 14 15#开始执行 16 do 17 18#输出目录路径 19 echo $base/$name 20#判断是否是目录 21 if [[ -d $base/$name ]]; then 22 23# 获取ca 文件中报Exception|ERROR的日志,过滤掉DEBUG|skywalking|10.8.0.37:8800这三类信息 24 result=`grep -C10 $base/$name/logs/ca | grep -vE "DEBUG|skywalking|10.8.0.37:8800" | grep -C5 -E "Exception|ERROR"` 25 26#if 判断如果$result为空 27 if [[ -z "$result" ]]; then 28#继续 29continue; 30 31#if 结束符 32 fi 33 34#带颜色的输出一行信息,说明是什么目录下有报错 35 echo -e "\n\033[find Exception in $name\033[0m\n\nExcpetion:\n\n$result" 36#if 结束符 37 fi 38#do 结束符 39 done 40 41#输出休息一分钟 42 echo -e "sleep 60 seconds\n" 43#等待一分钟 44 sleep 60s 45#do 结束符 46done

1.《如何调取Windows错误日志》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何调取Windows错误日志》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3294152.html