gitlab-ctl命令(推荐,适用于Omnibus安装)gitlab-ctl是GitLab提供的命令行工具,可便捷管理GitLab服务及查看日志,无需手动定位文件路径。
sudo gitlab-ctl tail
该命令会实时输出GitLab各组件的综合日志(如Rails应用、Nginx、Sidekiq等)。sudo gitlab-ctl tail nginx/gitlab_access.log # Nginx访问日志
sudo gitlab-ctl tail nginx/gitlab_error.log # Nginx错误日志
sudo gitlab-ctl tail gitlab-rails/production.log # GitLab Rails生产日志
执行后会实时刷新对应日志内容,按Ctrl+C退出。GitLab的日志默认存储在/var/log/gitlab目录下(Omnibus安装),或/home/gitlab/logs目录下(源安装),可通过cat、less、tail等命令查看。
主要应用日志:
/var/log/gitlab/gitlab-rails/production.log(Omnibus)或/home/gitlab/logs/gitlab-rails/production.log(源安装)。production.log。/var/log/gitlab/unicorn/unicorn_stderr.log(Omnibus)或/home/gitlab/logs/unicorn/unicorn_stderr.log(源安装)。其他组件日志:
/var/log/gitlab/gitlab-shell/gitlab-shell.log(Omnibus)或/home/gitlab/logs/gitlab-shell/gitlab-shell.log(源安装)。/var/log/gitlab/gitlab-rails/sidekiq.log(Omnibus)或/home/gitlab/logs/gitlab-rails/sidekiq.log(源安装)。示例命令(查看Rails生产日志的最后10行):
sudo tail -n 10 /var/log/gitlab/gitlab-rails/production.log
实时跟踪日志更新:
sudo tail -f /var/log/gitlab/gitlab-rails/production.log
journalctl命令(适用于systemd系统)若GitLab以systemd服务管理(如Omnibus安装的默认方式),可通过journalctl查看系统级日志,支持按服务过滤和实时跟踪。
sudo journalctl -u gitlab-rails
-f参数可实时刷新日志:sudo journalctl -u gitlab-rails -f
sudo journalctl -u gitlab-rails --since "1 hour ago"
gitlab-ctl status查看服务状态,或检查/etc/gitlab/gitlab.rb配置文件中的logging参数(自定义日志路径)。/etc/gitlab/gitlab.rb调整(如日志大小、保留天数),修改后需执行sudo gitlab-ctl reconfigure生效。