在Ubuntu系统中监控Node.js应用程序的日志有多种方法,以下是一些常用的工具和命令:
console.log()
和 console.error()
在您的Node.js代码中,使用 console.log()
输出常规日志信息,使用 console.error()
输出错误信息。这些日志将直接发送到控制台。
tail -f
命令实时查看日志如果您的Node.js应用程序将日志输出到文件(例如 /var/log/myapp.log
),您可以使用 tail -f
命令实时查看日志。在终端中输入以下命令:
tail -f /var/log/myapp.log
这将显示日志文件的最后几行,并在文件更新时实时显示新内容。
multitail
工具multitail
是一个强大的日志查看工具,可以同时监控多个日志文件,并提供实时更新、颜色高亮等功能。首先,您需要安装 multitail
:
sudo apt-get install multitail
然后,使用以下命令监控Node.js应用程序的日志文件:
multitail /var/log/myapp.log
PM2 是一个进程管理器,可以提供进程监控、日志记录和自动重启等功能。首先,安装 PM2:
sudo npm install pm2 -g
然后,使用以下命令来查看Node.js应用程序的实时日志:
pm2 logs
Winston 是一个流行的Node.js日志库,支持多种传输方式(如文件、控制台、HTTP等)。安装 Winston:
npm install winston
配置 Winston 以将日志输出到控制台和文件:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' }),
],
});
logger.info('Server started on port 3000');
logger.error('Database connection failed');
ELK Stack 是一个强大的日志管理和分析平台。安装 Elasticsearch 和 Kibana,并配置 Winston 发送日志到 Elasticsearch。更多详细步骤可以参考相关文档。
通过上述方法,您可以有效地监控 Ubuntu 上的 Node.js 应用程序日志,确保应用程序的稳定运行和问题的快速排查。