1. 应用自定义日志目录(最常见)
若Node.js应用使用winston
、morgan
等日志库,默认会在项目根目录下创建logs
文件夹,存储app.log
等日志文件(如/path/to/your/nodejs/app/logs/app.log
)。部分应用也会将日志存储在自定义路径(如/opt/your-app/logs
),需检查应用配置文件(如config.js
、app.js
)中的transports
(winston
)或stream
(morgan
)设置确认。
2. 进程管理器日志(如PM2)
若使用PM2管理Node.js进程,日志默认存储在用户主目录的.pm2/logs
文件夹下,文件名为应用名-out.log
(标准输出)和应用名-err.log
(错误输出)(如~/.pm2/logs/myapp-out.log
)。可通过pm2 logs
命令实时查看所有应用的日志,或pm2 logs your-app-name
查看特定应用的日志。
3. 系统日志(Systemd/journald)
若应用作为systemd服务运行(如服务名为nodejs-app.service
),日志会集成到系统日志中。可通过以下命令查看:
sudo journalctl -u your-nodejs-service.service # 查看指定服务的日志
sudo journalctl -u your-nodejs-service.service --since "2025-10-01" # 按时间筛选日志
或使用journalctl
的过滤功能(如grep "error"
)查找关键词。
4. 默认工作目录
若未配置日志路径,部分应用会将日志直接写入当前工作目录的logs
子目录(如/home/username/your-app/logs/app.log
)。可通过pwd
命令查看应用的工作目录,再检查logs
文件夹。
5. 查找日志的常用命令
tail -f /path/to/logfile.log
(如tail -f ~/.pm2/logs/myapp-out.log
);grep "error" /path/to/logs/*.log
(查找所有日志文件中的“error”关键词);journalctl -u your-nodejs-service.service
(替换为实际服务名)。