【问题标题】:morgan logger not writing to file摩根记录器不写入文件
【发布时间】:2023-04-01 11:16:01
【问题描述】:

我正在尝试使用 morgan 在我的 express nodejs 应用程序中设置生产日志记录环境。

我尝试使用此文档 https://github.com/expressjs/morgan#write-logs-to-a-file

关于日志记录的代码如下所示:

var express = require('express');
var path = require('path');
var logger = require('morgan');
var FileStreamRotator = require('file-stream-rotator');
var fs = require('fs');
var app = express();

// logging
if (app.get('env') !== 'development') {
  var logDirectory = path.join('/srv/iss', 'log');

  // ensure log directory exists
  fs.existsSync(logDirectory) || fs.mkdirSync(logDirectory);

  var accessLogStream = FileStreamRotator.getStream({
    date_format: 'YYYYMMDD',
    filename: path.join(logDirectory, 'access-%DATE%.log'),
    frequency: 'daily',
    verbose: false
  });

  // setup the logger
  app.use(logger('combined', {stream: accessLogStream}))
}
else {
  app.use(logger('dev'));
}

当我在开发模式下启动应用程序时一切正常,但在生产模式下会创建访问日志文件,但不会将日志消息发送到文件中。

【问题讨论】:

    标签: node.js logging morgan


    【解决方案1】:

    同样的问题,刚刚解决。 只是因为自述文件太旧了。 试试这个:

    app.use({format:'default', stream: accessLogStream});
    

    【讨论】:

      猜你喜欢
      • 2021-01-31
      • 2015-12-29
      • 2014-06-23
      • 2019-07-19
      • 2020-04-28
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多