要设置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' })