插件窝 干货文章 linux怎么查看错误日志

linux怎么查看错误日志

日志 错误 log 查看 446    来源:    2025-05-03

在Linux系统中,查看错误日志主要依赖于系统日志服务(如rsyslogjournald)和日志文件的位置。以下是常用的方法:


1. 系统通用日志文件

大多数错误日志集中在以下目录中:

/var/log/

关键日志文件: - /var/log/syslog:通用系统活动日志(Ubuntu/Debian) - /var/log/messages:通用系统日志(RHEL/CentOS) - /var/log/kern.log:内核相关错误 - /var/log/dmesg:硬件和启动阶段错误(也可用命令 dmesg) - /var/log/auth.log:认证/安全相关错误(如SSH登录失败) - /var/log/nginx/error.log(或其他服务名):特定服务的错误日志

查看方法

# 查看完整日志
cat /var/log/syslog

# 实时监控新日志(Ctrl+C退出)
tail -f /var/log/syslog

# 过滤错误关键词(如"error"、"fail")
grep -i "error" /var/log/syslog

2. 使用 journalctl(Systemd系统)

如果系统使用 systemd(现代Linux发行版默认),通过 journalctl 查看日志:

# 查看所有日志(按时间倒序)
journalctl -xe

# 查看指定服务的错误
journalctl -u nginx.service --no-pager | grep -i error

# 查看最近1小时的错误
journalctl --since "1 hour ago" -p err

3. 使用 dmesg 查看内核日志

# 查看硬件/内核错误
dmesg | grep -i error

# 实时监控
dmesg -w

4. 特定服务日志

  • Apache/Nginx/var/log/apache2/error.log/var/log/nginx/error.log
  • MySQL/MariaDB/var/log/mysql/error.log
  • Dockerjournalctl -u docker.servicedocker logs <容器名>

5. 按日志级别过滤

  • -p crit:严重错误
  • -p err:普通错误
  • -p warn:警告
    示例:
journalctl -p err -b  # 本次启动后的错误

6. 日志轮转管理

日志可能被压缩归档(如 syslog.1.gz),需用 zcatless 查看:

zcat /var/log/syslog.1.gz | grep -i error

常见问题排查

  1. 权限不足:使用 sudo 或切换 root 用户。
  2. 日志过大:用 less 分页查看(如 less /var/log/syslog)。
  3. 无错误信息:尝试更宽泛的关键词(如 "fail"、"warning")。

通过以上方法,可以快速定位系统或应用程序的错误日志。如果是特定服务的问题,建议直接检查其专属日志文件。