要设置Node.js日志的存储路径,您可以使用第三方日志库,例如winston或morgan。这里以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: 'logs/error.log', level: 'error' }),
new winston.transports.File({ filename: 'logs/combined.log' })
]
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({
format: winston.format.simple()
}));
}
module.exports = logger;
在这个例子中,我们创建了一个winston实例,并配置了两个日志文件:一个用于存储错误日志(error.log),另一个用于存储所有级别的日志(combined.log)。这两个文件都将存储在logs文件夹中。
现在,在您的应用程序中使用logger.js文件记录日志:
const logger = require('./logger');
logger.info('This is an info message');
logger.error('This is an error message');
运行应用程序后,您会在项目根目录下看到一个名为logs的文件夹,其中包含error.log和combined.log文件。
如果您希望更改日志文件的存储路径,只需修改logger.js文件中transports.File对象的filename属性即可。例如,如果您希望将日志文件存储在/var/log/myapp目录中,可以将代码更改为:
new winston.transports.File({ filename: '/var/log/myapp/error.log', level: 'error' }),
new winston.transports.File({ filename: '/var/log/myapp/combined.log' })