摘要: 现在网站都有后台日志,主要用于记录异常信息,和异常发生时的关键参数,用于排查bug.有时日志文件很大时,使用shell命令可以事半功倍.
场景:java web
目标:查看最近的一个空指针异常的位置,及
空指针异常发生时的前5行代码和后五行代码.
分析:
空指针异常是最经常发生的异常,一般都是代码的bug,所以很有现实意义.
获取前五行代码是为了查看请求参数,
后5行代码是为了确认异常发生的代码行号.
先看下示例,这样会对我们的目的有一个感性的认识:
解决思路:
1,第一步,我们要获取日志文件中异常的行号,我们可以使用grep -n,
其中-n就是为了显示行号;
2,第二步:我要截取日志文件的内容,可以配合使用head 和tail
解决方案:
命令:
grep -rnw "java.lang.NullPointerException" house_error.log |cut -d ':' -f 1 |xargs -i expr {} + 10 |xargs -i head -n {} house_error.log|tail -n 20
缺点:只能看到最后一个异常
命令执行结果:
命令解释:
grep -rnw "java.lang.NullPointerException" house_error.log |cut -d ':' -f 1 |xargs -i expr {} + 10 |xargs -i head -n {} house_error.log|tail -n 20
注意:expr 算术运算中,运算符两边必须有一个空格
参考:
https://blog.csdn.net/cy_cai/article/details/41908921
https://my.oschina.net/huangweiindex/blog/1798546
相关推荐
在实际开发中,我们通常会将shell命令的执行结果或错误信息记录到日志,以便于调试和分析。可以使用Android的日志系统(如`Log.d()`, `Log.e()`等)将这些信息输出到控制台或者保存到文件。 总的来说,通过JNI调用C...
在日志查看方面,FinalShell提供了实时监控、搜索、过滤以及导出等功能,帮助用户迅速定位和分析日志中的关键信息。 首先,FinalShell支持实时查看日志。用户可以连接到远程服务器,然后打开指定的日志文件,软件会...
Shell 分析日志文件高效命令详解 shell 分析日志文件是一种常见的操作系统日志记录方式,通过分析日志文件,可以获取服务器的访问情况、用户行为、系统性能等信息。本文将详细介绍 Shell 分析日志文件的高效命令...
通常,我们可以编写一个批处理文件,其中包含`adb logcat -v long > log.txt`这样的命令,这将把日志输出到一个文本文件中,方便查看和分析。 接着,`logcat_delete_all.bat`可能是一个清除`Logcat`中所有日志的...
本文将深入探讨如何使用JNI在Android中执行shell命令。 首先,理解JNI的工作原理是必要的。JNI接口为Java应用程序提供了一个桥梁,使其可以直接调用本地(非Java)代码,通常是C/C++编写的库。这涉及到创建一个本地...
《Linux UNIX Shell命令大全》是一本深度探讨操作系统交互界面——Shell编程及命令使用的权威指南。本书分为五个部分,全面覆盖了从基础到高级的各类Shell编程技术和UNIX命令,旨在帮助读者提升在Linux环境中的工作...
7. **日志记录**:为了便于故障排查和历史分析,脚本也会记录自身的操作日志,这通常会使用`echo`命令将信息追加到特定的log文件。 在实际应用中,这样的脚本可以极大地提升日志管理的效率,及时发现并处理应用程序...
本篇文章将详细介绍如何利用Linux shell命令来分析Nginx的日志文件。 首先,了解Nginx的日志格式至关重要。默认情况下,Nginx的主要访问日志文件通常位于`/var/log/nginx/access.log`,采用combined日志格式,内容...
1、在Windows下的用户要使用shell命令符的话请先安装cygwin,安装方法自行Google(搜技术问题请使用google,百度搜不到活该) 2、下面粗略介绍下SEO日志分析常用的命令符用法,需要详细了解每个命令符请使用Google。...
test_format.sh可能是这样的一个脚本,它可能包含了上述命令的组合使用,以满足特定的日志处理逻辑。 在实际工作中,结合这些命令和脚本,我们可以高效地处理和分析大量日志数据,提高工作效率。学习和掌握这些...
学习Shell编程,最好的方法是动手实践,例如编写自动备份脚本、日志分析脚本等,将理论知识应用到实际问题解决中。 通过这个资料包,你将能够深入学习和理解Linux Shell编程的核心概念,从而提升你在系统管理和...
- **编译配置**:包括构建目标、日志文件等,确保构建过程中产生的信息能够被记录下来供后续分析使用。 #### 三、注意事项 - **环境一致性**:确保Jenkins服务器上的开发环境与开发者的本地环境保持一致,避免因...
4. **非阻塞执行**:`run_background`方法使用`subprocess.Popen`来以非阻塞的方式执行Shell命令。 5. **阻塞执行**:`run`方法首先调用`run_background`,然后通过`wait`方法等待命令执行完毕。 6. **获取状态**:`...
在Linux系统中,可以使用`top`或`vmstat`命令来实时查看系统的CPU利用率。`top`命令提供了一个交互式的界面,展示当前系统中各个进程的CPU和内存使用情况;而`vmstat`则输出系统整体的统计信息,包括进程、内存、...
最后,书中简要涉及了一些Unix系统的管理问题,如用户和组管理、权限设置、进程调度、日志分析等。这部分内容虽然不是Shell编程的主体,但对于理解Unix环境下的系统运维至关重要。 总的来说,《Shell编程与Unix命令...
在Linux系统中,Shell脚本配合各种命令工具可以实现高效且灵活的日志分析。本文将详细介绍如何利用Shell和Linux命令来实现日志分析,特别是针对访问日志的统计。 1. 列出当天访问次数最多的IP: 使用`cut`命令以...
在Linux系统中,shell脚本是一种强大的工具,可以自动化执行...结合日志文件,我们可以方便地查看历史数据,分析网络稳定性,及时发现并解决网络问题。在实际应用中,还可以根据具体需求进一步定制脚本,提高运维效率。
- **awk '{print $4}' MqqValentineDay2010UserAccessLog.log.2010-02-25**: 使用`awk`命令从日志文件中提取第四列数据,常用于数据分析或筛选特定字段。 #### 5. 进程与网络监控 - **sudo /usr/sbin/tcpdump -i ...
3. 日志分析:解析日志文件,提取关键信息。 4. 网络自动化:批量配置网络设备,如DNS设置、IP地址分配等。 5. 安装部署:自动化软件安装、配置和更新过程。 通过深入学习和实践这些知识点,你可以熟练掌握Shell...