Node.js日志错误代码Ubuntu怎么查
导读:Ubuntu系统中查看Node.js日志错误代码的方法 1. 查看应用程序直接输出的日志 若Node.js应用在前台运行(如通过node app.js启动),错误信息会直接打印到终端,通常以**Error:为前缀,或包含HTTP状态码**(...
Ubuntu系统中查看Node.js日志错误代码的方法
1. 查看应用程序直接输出的日志
若Node.js应用在前台运行(如通过node app.js启动),错误信息会直接打印到终端,通常以**Error:为前缀,或包含HTTP状态码**(如404、500)。若需长期保存日志,可将输出重定向到文件:
node app.js >
app.log 2>
&
1
其中>
将标准输出重定向到app.log,2>
&
1将标准错误输出合并到标准输出,实现错误日志的集中存储。
2. 使用命令行工具筛选错误日志
对于已保存的日志文件(如app.log),可通过以下命令快速查找错误信息:
grep筛选错误关键字:grep 'Error' app.log # 查找包含"Error"的行 grep -i 'error' app.log # 忽略大小写查找- 筛选HTTP错误状态码:
grep -E '4[0-9]{ 2} |5[0-9]{ 2} ' app.log # 查找4xx(客户端错误)或5xx(服务器错误) - 实时查看日志更新:
tail -f app.log # 实时显示日志文件末尾内容,按Ctrl+C退出
这些命令可结合使用,例如tail -f app.log | grep 'Error'可实时监控并筛选错误信息。
3. 通过系统日志查看(若应用作为服务运行)
若Node.js应用以系统服务(如systemd)运行,可使用journalctl命令查看关联日志:
sudo journalctl -u your-node-service.service # 替换为你的服务名称
例如,若服务名称为node-app.service,则命令为sudo journalctl -u node-app.service。该命令会显示服务的所有日志,包括错误信息。
4. 使用日志管理库增强日志功能
为更高效地管理错误日志,推荐使用第三方日志库(如Winston),将错误日志单独保存到指定文件:
- 安装Winston:
npm install winston - 配置Winston(在应用代码中添加):
const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.File({ filename: 'error.log', level: 'error' } ), // 仅保存错误日志 new winston.transports.File({ filename: 'combined.log' } ) // 保存所有日志 ] } ); // 示例:记录错误日志 logger.error('This is an error message', { stack: new Error().stack } );
配置后,错误日志会单独保存到error.log文件,便于快速定位问题。
5. 常见错误码含义(辅助排查)
日志中的错误代码(如EADDRINUSE、ENOENT)是解决问题的关键线索,常见错误码及含义如下:
EADDRINUSE:端口已被占用(如Error: listen EADDRINUSE :::3000),解决方法:终止占用端口的进程(lsof -i :3000查看进程ID,kill -9 < PID>终止)。ENOENT:文件或目录不存在(如Error: ENOENT: no such file or directory, open '/path/to/file'),解决方法:检查文件路径是否正确。EACCES:权限不足(如Error: EACCES: permission denied, open '/var/log/node.log'),解决方法:修改文件/目录权限(chmod 644 /var/log/node.log)。ECONNREFUSED:连接被拒绝(如Error: connect ECONNREFUSED 127.0.0.1:8080),解决方法:检查目标服务是否启动、防火墙设置或URL是否正确。ETIMEDOUT:操作超时(如Error: connect ETIMEDOUT 192.168.1.1:80),解决方法:检查网络连接、增加超时时间(如axios的timeout配置)。
通过以上方法,可快速定位并解决Node.js应用中的错误。若需更高级的日志分析(如可视化),可结合ELK Stack、Graylog等工具,但基础排查可通过命令行和日志库完成。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Node.js日志错误代码Ubuntu怎么查
本文地址: https://pptw.com/jishu/739532.html
