如果Golang应用程序直接在终端运行(未后台守护),默认情况下,**标准输出(stdout)和标准错误输出(stderr)**会直接显示在终端窗口中。例如,使用go run main.go或./myapp运行程序时,日志会实时打印在终端上。
多数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
若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"
若使用第三方日志库(如Logrus、Zap),日志输出位置需参考代码配置:
/var/log/golang.log)或Syslog,查看方法同“指定日志文件”或“系统日志”;WriteSyncer指定输出目标(如文件、标准输出),查看方法取决于配置。log.SetOutput、logrus.SetOutput等关键词),确认日志输出路径;logrotate)被压缩或归档,需检查/etc/logrotate.d/目录下的配置文件。