软件测试怎么理解Linux服务器日志,怎么查看和看懂日志

问题遇到的现象和发生背景

我是一名测试,怎么理解Linux服务器日志,怎么查看和看懂日志,就是日志格式是什么样的,如何通过查看日志定位bug。

看日志就是找系统中的异常。如果开发比较规范的话,异常日志一般都在error.log文件中,通过查看error文件中的日志信息进行分析即可。
明确日志文件所在的位置最重要,然后看报错提示就行了。

我觉得你理解的方向可能有点问题。既然是软件测试,日志肯定和开发人员相关,格式也是开发人员制定的,这个方面你应该和开发人员沟通,制定/询问详细的格式。至于linux系统方面,其实了解常用基本的运维命令就可以了。

报错了根据提示进入log目录,然后cat查看
也就几个命令的是

测试看Linux日志一般分为系统日志,中间件日志和服务日志
前两个一般系统本地日志使用 cat tail head less等命令可查看 那个日志一般懂英文和Linux基础就行
现在很多公司的服务是用容器跑的 比如docker 查看命令为 docker logs 容器id或name 参数可以去看docker
然后关于服务的日志内容,拿后端举例 你得会开发知识才行 比如后端用java开发 那日志里面的报错信息全是java的
linux中的日志格式正常情况都是以.log结尾的文件
希望这些对你有所帮助

现在我也装不上Linux,也讲不清楚日志的格式,希望有人能晒一段。
系统日志一般来讲就是系统的工作记录,可以有简有繁:简单的就是记录一下系统什么时间运行了什么软件、什么时间进行了什么系统操作(比如调整系统设置),繁复的则会记录下系统什么时间运行了什么函数调用。
系统日志一般用法就是系统崩溃后,查找系统进行了哪些可能导致问题的操作(包括系统崩溃时运行的程序和系统的一些重要参数)。
系统日志是比较早期的安全策略,现在调试系统通常使用复杂得多的针对系统不同组件的专用软件,比如:检测通信口、监测显示系统、都有专用的查看工具。
现在的系统日志也已经分散化了,针对比较重要的服务和比较重要的软硬件、可能会有专门的日志记录。。。

后台服务程序的日志,记录了程序运行过程中一些关键信息。可以协助开发和测试人员,分析定位程序bug等异常。
一般分为以下4类
INFO,一般信息
DEBUG,调试信息
WARNING,警告信息
ERROR,错误信息

1、首先你要知道不同的服务对应的日志是什么,在此原理之上你才会有针对性的知道当你发现一个不确定的bug之后,从而通过抓包与日志去定位对应的日志。
2、日志会记录产生 bug 的真实报错信息,如果你能看得懂的话,可以直接定位到,实在不行,直接截图丢给开发就好。他们看得懂。
3、测试之路任重而道远,技术栈广而不精,加油!奥利给!

是通过Linux命令查看服务器上的日志文件吧。
实时查看
过滤查看

https://blog.csdn.net/weixin_34893745/article/details/116663271?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-4-116663271-ask-7762282.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-4-116663271-ask-7762282.pc_feed_download_top3ask

首先搞清楚你的测试对象是什么啊? 你肯定不是想测linux系统吧,测试linux上的软件的话,那就是看你软件打印的日志,如果是想看软件引起了linux的bug的话,那就是在/var/log这个目录下,/var/log/messages

后台服务程序的日志,记录了程序运行过程中一些关键信息。可以协助开发和测试人员,分析定位程序bug等异常。
一般分为以下4类
INFO,一般信息
DEBUG,调试信息
WARNING,警告信息
ERROR,错误信息

第一种:查看实时变化的日志(比较吃内存)
    最常用的:
    tail -f app.log  (默认最后10行,相当于增加参数 -n 10)
             tail -200f app.log  (最后200行,某一时刻往前推)
    Ctrl+c 是退出tail命令
 
    其他情况:
    tail -n 20 app.log  (显示app.log最后20行)
    tail -n +5 app.log  (从第5行开始显示文件)
 
第二种:搜索关键字附近的日志
    最常用的:
    cat -n filename |grep "关键字"
   
    其他情况:
    cat app.log | grep -C 5 '关键字'   (显示日志里匹配字串那行以及前后5行)
    cat app.log | grep -B 5 '关键字'   (显示匹配字串及前5行)
    cat app.log | grep -A 5 '关键字'   (显示匹配字串及后5行)
 
第三种:进入编辑查找:vi(vim) 
    1、进入vim编辑模式:vi app.log
    2、输入“/关键字”,按enter键查找
    3、查找下一个,按“n”即可( n 查找上一处错误日志  N 查找下一处错误日志)
              4、ctrl+f: 下翻一屏。
                   ctrl+b: 上翻一屏。
                   ctrl+d: 下翻半屏。
                   ctrl+u: 上翻半屏。
                   ctrl+e: 向下滚动一行。
                    ctrl+y: 向上滚动一行。
              5、ctrl+o回到搜索的地方
    退出:按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
    wq! 保存退出;
    q! 不保存退出;
    其他情况:
    /关键字    注:正向查找,按n键把光标移动到下一个符合条件的地方
    ?关键字    注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
第四种:查看所有关键字相关的日志(more 和vi 类似)
             more app.log 默认打开所有的,从前往后
             常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退               出命令)
          1、more app.log | grep '关键字' 
          2、按Space键:显示文本的下一屏内容
          3、按B键:显示上一屏内容;
         4、按H键:显示帮助屏,该屏上有相关的帮助信息;
第五种 根据时间查看
         cat xxx.log |sed -n '/2020-10-24 22:16:21/,/2020-10-24 22:16:59/p' abc.log

https://www.xinruiyun.cn/zhishiku/2359.html
在linux系统中,/var/log是Linux系统上的一个重要文件夹。打开终端窗口并发出命令cd / var / log。现在发出命令ls,您将看到此目录中的日志

img


使用less查看日志
/ var / log中包含的最重要的日志之一是syslog。此特定日志文件记录除与auth相关的消息之外的所有内容。假设您要查看该特定日志文件的内容。为此,您可以快速发出命令less/ var / log / syslog。此命令将syslog日志文件打开到顶部。然后,您可以使用箭头键一次向下滚动一行,空格键一次向下滚动一页,或使用鼠标滚轮轻松滚动文件。
这种方法的一个问题是syslog可能会变得相当大;并且,考虑到您正在寻找的内容很可能是在底部或附近,您可能不想花时间滚动线或页面来达到目的。syslog会在less命令中打开,你也可以点击[Shift] + [g]组合立即转到日志文件的末尾。结尾将由(END)表示。然后,您可以使用箭头键或滚轮向上滚动以找到您想要的确切内容。
当然,这并不是非常有效。
使用dmesg查看日志
的dmesg的命令打印内核环缓冲区。默认情况下,该命令将显示来自内核环缓冲区的所有消息。在终端窗口中,发出命令dmesg,整个内核环缓冲区将打印出来

img