在 Debian 系统上,Node.js 应用程序的日志存储位置可以通过多种方式设置。以下是几种常见的方法:
你可以在启动 Node.js 应用程序时设置环境变量 LOG_PATH 来指定日志文件的存储位置。
LOG_PATH=/var/log/myapp/logs/myapp.log node app.js
你可以在 Node.js 应用程序中使用配置文件来指定日志文件的存储位置。例如,使用 winston 日志库:
winston:npm install winston
logger.js:const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: '/var/log/myapp/logs/myapp.log' })
]
});
module.exports = logger;
const logger = require('./logger');
logger.info('Hello, world!');
如果你使用 systemd 来管理你的 Node.js 应用程序,可以在服务文件中设置环境变量来指定日志文件的存储位置。
/etc/systemd/system/myapp.service:[Unit]
Description=My Node.js Application
After=network.target
[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
Environment=LOG_PATH=/var/log/myapp/logs/myapp.log
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myapp
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
为了更好地管理日志文件,你可以使用 logrotate 工具来轮转日志文件。
logrotate 配置文件 /etc/logrotate.d/myapp:/var/log/myapp/logs/myapp.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
/var/log/myapp/logs/myapp.log。通过以上几种方法,你可以灵活地设置 Debian 系统上 Node.js 应用程序的日志存储位置。选择适合你需求的方法即可。