Linux查看log日志命令总结


1,动态实时查看日志

企业项目都运行在Linux环境,熟悉Linux环境下的日志查看结合远程调试端口及时排查程序bug,是后端程序员需掌握的必备技能。

Tail the log file是运维同学的口头禅,tail命令是最常用的查看日志语句,以日志文件server.log为例

1.1 tail -f filename

tail -f server.log实时展示日志末尾内容,默认最后10行,相当于增加参数 -n 10

tail -f server.log

退出tail命令

Ctrl+c

tail命令扩展
查看日志最后20行内容并实时更新日志

tail -f -n 20 server.log

查看日志正数20行内容

tail -n +20 server.log

1.2 追踪特定内容日志

tail 命令可以实时查看文件内容的变化。但是当项目日志实时更新内容特别多时,需要查看的列往往时一闪而过,在快速更新的大量日志中查询关键列非常不方便,这是就需要tail命令与grep命令连用。追踪需要展示的特定信息,以查看固定线程http-nio-8091-exec-7为例:

tail -f log_file | grep ‘http-nio-8091-exec-7’

扩展内容
-C 选项来显示检索结果的前后几行,-A 选项展示检索结果后几行,-B选项展示检索结果前几行

tail -f log_file | grep -C 5 ‘http-nio-8091-exec-7’

2 cat关键字搜索

cat 区别于tail是对日志进行全文搜索,其中-n的作用是显示行号

cat -n filename |grep “http-nio-8091-exec-7”

扩展内容
-C 选项来显示检索结果的前后几行,-A 选项展示检索结果后几行,-B选项展示检索结果前几行

cat -n log_file | grep -C 5 ‘http-nio-8091-exec-7’

3 查看整体的日志操作

3.1 less命令

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。ctrl +c 中断实时读取显示,按 q 会退出less视图
选项 +F 可以实时跟踪文件的更改:

less +F log_file

第一步:打开日志文件

less sigma.log

第二步:定位到日志文件的最后一行:

shift+g 移动到最后一行

第三步:

ctrl+b 往前一页一页翻页查看

参考:
1.全屏导航

ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏

2.单行导航

j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令

3.2 vim编辑模式查看日志

对于编辑模式操作日志文件,因为熟悉流程原因也不失为一个好方法

/关键字 注:正向查找,按n键把光标移动到下一个符合条件的地方
?关键字 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

4 下载日志文件

  1. 获取docker中的容器编号
    通过docker查看日志需要先知道docker中的容器编号CONTAINER ID
    通过命令sudo docker ps或者sudo docker container ls -a任意一个都可以
  2. 进入到我们的项目中,会有个日志文件,记录我们所需要的日志文件的名字路径
    sudo docker exec -it CONTAINER ID sh
  3. 退出docker容器
    exit
  4. 把容器里第2步查出来的文件路径的文件拷贝到服务器里的任一目录上
    sudo docker container cp CONTAINER ID:/opt/logs/2020-02/zjapp-2020-02-10.log /home/brain/zjapp-2020-02-10.log

这里比较麻烦,还是希望一开始就可以挂载好服务器目录文件

或者使用远程连接工具拖拽下载

Guess you like

Origin blog.csdn.net/ZGL_cyy/article/details/128782594