您的位置:首页 >Ubuntu Node.js日志中如何实现自定义监控
发布于2026-04-25 阅读(0)
扫一扫,手机访问
在Ubuntu环境下为Node.js应用搭建一套得心应手的监控体系,其实有不少成熟的路径可选。关键在于根据你的具体场景——是追求简单直接,还是需要企业级的可扩展性——来挑选合适的工具和方法。下面就来梳理几种常见的实现方案。

console.log和日志文件如果需求简单,不想引入额外依赖,那么利用Node.js内置的fs模块将console.log输出重定向到文件,是个最直接的起点。这种方法虽然原始,但对于小型项目或快速验证想法来说,足够用了。
const fs = require('fs');
const path = require('path');
const logFile = path.join(__dirname, 'app.log');
function log(message) {
const timestamp = new Date().toISOString();
const logEntry = `${timestamp}: ${message}\n`;
fs.appendFile(logFile, logEntry, (err) => {
if (err) throw err;
});
}
// 示例日志输出
log('Application started');
winston库当应用规模增长,对日志的格式、分级、多目的地输出(如同时输出到文件和控制台)有了更高要求时,就该轮到专业的日志库登场了。winston是社区中的佼佼者,其灵活的配置和强大的传输(Transport)支持,让它成为许多生产环境项目的首选。
首先,通过npm安装它:
npm install 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' }),
new winston.transports.Console({
format: winston.format.simple()
})
]
});
// 示例日志输出
logger.info('Application started');
pm2如果你的目标不仅仅是记录日志,还包括进程守护、性能监控和负载均衡,那么pm2几乎是一个必选项。它能让你的Node.js应用像系统服务一样稳定运行,并内置了强大的日志管理功能。
全局安装pm2:
npm install pm2 -g
使用它来启动你的应用:
pm2 start app.js --name my-app
之后,pm2会自动帮你收集和管理标准输出及错误日志。查看实时日志流非常简单:
pm2 logs my-app
nodemon在开发阶段,频繁地手动重启应用无疑会打断思路。nodemon正是为此而生:它监控项目文件的变化,一旦检测到改动,便自动重启应用,让你能专注于代码本身。
同样需要全局安装:
npm install nodemon -g
然后用它替代node命令来启动应用:
nodemon app.js
这样一来,每次保存代码,应用都会热重启,同时所有的控制台输出(日志)也一目了然。
log4js库log4js是另一个久经考验的日志库,其设计灵感来源于Ja va界的log4j,提供了清晰的日志级别分类和可配置的输出策略,适合需要精细控制日志行为的项目。
首先安装:
npm install log4js
一个典型的配置示例如下:
const log4js = require('log4js');
log4js.configure({
appenders: {
out: { type: 'stdout' },
file: { type: 'file', filename: 'app.log' }
},
categories: {
default: { appenders: ['out', 'file'], level: 'info' }
}
});
const logger = log4js.getLogger();
// 示例日志输出
logger.info('Application started');
总而言之,从原生的文件操作到功能齐全的日志库,再到集大成的进程管理工具,Ubuntu上的Node.js监控有多种清晰的路径可供选择。究竟采用哪种方案,完全取决于你的应用处于哪个阶段,以及你对日志的可靠性、可读性和管理便利性有着怎样的期待。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9