在Ubuntu下,为Node.js应用程序设置日志权限,你需要确保Node.js进程具有足够的权限来写入日志文件。以下是一些建议的步骤:
sudo mkdir /var/log/my_node_app sudo chown $USER /var/log/my_node_app sudo chmod 755 /var/log/my_node_app 将$USER替换为运行Node.js应用程序的用户。
winston库,可以在配置中指定日志文件的路径:const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.File({ filename: '/var/log/my_node_app/app.log' }) ] }); systemd),请确保服务文件中的用户具有访问日志目录的权限。例如,在/etc/systemd/system/my_node_app.service文件中:[Service] User=my_user WorkingDirectory=/var/www/my_node_app ExecStart=/usr/bin/node app.js Restart=always Environment=NODE_ENV=production 将my_user替换为运行Node.js应用程序的用户。
sudo systemctl restart my_node_app 现在,你的Node.js应用程序应该具有将日志写入/var/log/my_node_app目录的权限。