首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用温斯顿和摩根的日志中间件

使用温斯顿和摩根的日志中间件
EN

Stack Overflow用户
提问于 2022-09-21 19:58:53
回答 1查看 48关注 0票数 1

我使用温斯顿和摩根创建了一个记录器中间件,如下所示:

代码语言:javascript
运行
复制
  const format = winston.format.combine(
    winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:ms' }),
    winston.format.printf(
      (info) => `${info.timestamp} ${info.level}: ${info.message}`,
    ),
  )

  const transports = [
    new winston.transports.Console(),
    new winston.transports.File({
      filename: 'logs/error.log',
      level: 'error',
    }),
    new winston.transports.File({ filename: 'logs/all.log' }),
  ]

  const logger = winston.createLogger({
    format,
    level: "info",
    transports
  })

  const stream = {
    write: (message) => logger.log(message),
  };

  const morganMiddleware = morgan(
    ":remote-addr :method :url :status :res[content-length] - :response-time ms",
    { stream }
  );

  app.use(morganMiddleware);

但是,当我开始运行并收到第一个日志时,温斯顿给我一个错误:

代码语言:javascript
运行
复制
level[LEVEL] = level.level;
                   ^

TypeError: Cannot create property 'Symbol(level)' on string '::1 GET /api/amr/applications?order=ASC&sortBy=application.lastIncidentAt 304 - - 380.459 ms

有人能告诉我我的温斯顿/摩根配置有什么问题吗?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-21 20:07:54

温斯顿·洛格希望有两个论点。所以,不是这样的:

代码语言:javascript
运行
复制
const stream = {
  write: (message) => logger.log(message),
};

这样做:

代码语言:javascript
运行
复制
const stream = {
  write: (message) => logger.log('info', message),
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73806309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档