在 Debian 系统上,Node.js 应用程序的日志异常可以通过以下几种方法进行处理:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error fetching data:', error);
}
}
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' }),
],
});
// 捕获未处理的异常
process.on('uncaughtException', (error) => {
logger.error('Uncaught Exception:', error);
process.exit(1);
});
例如,使用 PM2:
npm install pm2 -g
pm2 start app.js --name my-app
pm2 logs my-app
/etc/rsyslog.conf 或创建一个新的配置文件(例如 /etc/rsyslog.d/50-default-nodejs.conf)来实现。# /etc/rsyslog.d/50-default-nodejs.conf
if $programname == 'node' then /var/log/nodejs.log
& stop
然后重启 rsyslog 服务以应用更改:
sudo systemctl restart rsyslog
通过这些方法,你可以更好地处理和分析 Debian 上 Node.js 应用程序的日志异常。