获取系统日志数据的命令

linux/android

$ sudo dmesg -Tw

freebsd

由于缺少像dmesg一样的工具,所以需要直接去读取文件

$ less /var/log/messages

macos

封装了log命令行工具

# 获取历史log 数据
$ log show
# 获取最新log流数据,该命令是阻塞的
$ log stream

windows

采用powershell终端命令获取

如下表示

  • 调用Get-WinEvent程序
  • 获取日志名称为System的,
  • -Oldest获取日志时间从旧往新排序
  • -Force表示当名称参数的值包含通配符
  • 时,需要使用 Force 参数才能获取调试或分析日志
  • | Format-List -Property * 表示使用管道的方式把输出格式转换一下,转变为一列一行的形式输出数据
PS> Get-WinEvent -LogName System -Oldest -Force | Format-List -Property * 

如果是在命令行中调用,容易遇到utf-8编码失败问题,如果上层程序不太好处理,可以通过命令行中指定以utf-8编码重定向到一个文件去读取数据

PS> Get-WinEvent -LogName System -Oldest -Force | Format-List -Property * | out-file test.log -encoding utf8

参考阅读

Get-WinEvent microsoft 文档


龚正阳
29 声望5 粉丝

粗犷型程序员