温馨提示×

如何设置Node.js日志的存储路径

小樊
54
2025-06-30 07:19:13
栏目: 云计算

要设置Node.js日志的存储路径,您可以使用第三方日志库,例如winstonmorgan。这里以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.logcombined.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' })

0