在CentOS上配置Node.js错误日志,可以通过以下几个步骤来实现:
/var/log/nodejs
下创建一个名为error.log
的文件。sudo mkdir -p /var/log/nodejs
sudo touch /var/log/nodejs/error.log
sudo chown <nodejs_user>:<nodejs_group> /var/log/nodejs/error.log
将<nodejs_user>
和<nodejs_group>
替换为运行Node.js应用程序的用户和组。
winston
或morgan
)来记录错误日志。以下是使用winston
的一个示例:首先,安装winston
:
npm install winston
然后,在应用程序中创建一个名为logger.js
的文件,并添加以下内容:
const winston = require('winston');
const logger = winston.createLogger({
level: 'error',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: '/var/log/nodejs/error.log' })
]
});
module.exports = logger;
在应用程序的主要文件(如app.js
)中,引入并使用logger
:
const logger = require('./logger');
// 在需要记录错误的地方使用logger.error()
logger.error('An error occurred:', error);
sudo npm install -g pm2
然后,使用PM2启动您的Node.js应用程序:
pm2 start app.js --name my_node_app
PM2会自动将错误日志记录到/var/log/nodejs/error.log
文件中。
ecosystem.config.js
文件中进行配置。例如:module.exports = {
apps: [
{
name: 'my_node_app',
script: 'app.js',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
log_date_format: 'YYYY-MM-DD HH:mm:ss',
out_file: '/var/log/nodejs/my_node_app-out.log',
error_file: '/var/log/nodejs/my_node_app-error.log',
combine_logs: true,
log_level: 'error'
}
]
};
然后,使用PM2启动应用程序:
pm2 start ecosystem.config.js
现在,Node.js错误日志将记录在/var/log/nodejs/my_node_app-error.log
文件中。