温馨提示×

CentOS Golang日志输出在哪查看

小樊
39
2025-11-01 12:32:04
栏目: 编程语言

CentOS下Golang日志输出位置及查看方法

1. 终端输出(默认情况)

如果Golang应用程序直接在终端运行(未后台守护),默认情况下,**标准输出(stdout)和标准错误输出(stderr)**会直接显示在终端窗口中。例如,使用go run main.go./myapp运行程序时,日志会实时打印在终端上。

2. 指定日志文件(常见配置)

多数Golang应用会通过代码将日志写入指定文件,常见路径包括:

  • 应用程序所在目录:如./myapp.log(当前目录)、./logs/app.log(子目录);
  • 系统日志目录:如/var/log/myapp.log/var/log/your_app_name/(需手动创建目录并赋予写入权限,如sudo mkdir -p /var/log/myapp && sudo chown $USER:$USER /var/log/myapp)。

查看方法

  • 使用tail命令实时查看日志末尾内容:
    tail -f /path/to/your/logfile.log  # 替换为实际日志文件路径
    
  • 使用cat命令查看完整日志:
    cat /path/to/your/logfile.log
    

3. 系统日志(Systemd服务集成)

若Golang应用以Systemd服务形式运行(如myapp.service),日志会被发送到系统日志中,可通过journalctl命令查看:

sudo journalctl -u myapp.service  # 替换为你的服务名称
  • 实时查看服务日志:
    sudo journalctl -u myapp.service -f
    
  • 查看指定时间范围的日志:
    sudo journalctl -u myapp.service --since "2025-11-01 00:00:00" --until "2025-11-01 23:59:59"
    

4. 第三方日志库(如Logrus、Zap)

若使用第三方日志库(如Logrus、Zap),日志输出位置需参考代码配置:

  • Logrus示例:通常配置为输出到文件(如/var/log/golang.log)或Syslog,查看方法同“指定日志文件”或“系统日志”;
  • Zap示例:需通过WriteSyncer指定输出目标(如文件、标准输出),查看方法取决于配置。

注意事项

  • 若无法找到日志文件,需检查应用程序代码(搜索log.SetOutputlogrus.SetOutput等关键词),确认日志输出路径;
  • 日志文件可能因日志轮转(如logrotate)被压缩或归档,需检查/etc/logrotate.d/目录下的配置文件。

0