📜  获取最后 10 行日志 (1)

📅  最后修改于: 2023-12-03 15:27:50.749000             🧑  作者: Mango

获取最后 10 行日志

在开发过程中,我们经常需要查看日志来排查问题。而有时候,我们只需要查看最后几行的日志,而不是整个文件。

下面是几种获取最后 10 行日志的方法:

方法一:使用命令行工具
Linux / macOS

使用 tail 命令可以很方便地获取日志文件的最后几行:

tail -n 10 file.log

其中 -n 参数表示要获取的行数,file.log 是日志文件的路径。

Windows

Windows 上没有 tail 命令,但可以使用 PowerShell

Get-Content file.log | Select-Object -Last 10

其中 Get-Content 是将文件内容读入内存,Select-Object 选取最后 10 行。

方法二:使用 Python

我们也可以使用 Python 来获取日志文件的最后几行。下面是一个简单的实现:

def tail(file_path, lines=10):
    with open(file_path) as f:
        if lines >= 0:
            return list(f)[-lines:]
        else:
            return list(f)

其中 file_path 是日志文件的路径,lines 是要获取的行数,如果传入负数就是获取全部行。

方法三:使用第三方库

还有一些 Python 第三方库也支持获取文件的最后几行,比如 linecache

import linecache

def tail(file_path, lines=10):
    total_lines = sum(1 for _ in open(file_path))
    start_line = total_lines - lines
    return [linecache.getline(file_path, i) for i in range(start_line, total_lines + 1)]

其中 linecache.getline 可以很方便地获取指定行的内容。

以上几种方法都可以方便地获取日志文件的最后几行,选择哪种方法,可以根据具体情况来决定。