在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
文件中。