javascript - 使用 Winstonjs 记录器进行 Node 记录会出现 TypeError

标签 javascript node.js logging winston

我刚开始使用 Node,现在我想向我的应用程序添加一些日志记录,为此 Winstonjs似乎很合适。所以我首先安装了它:

npm install winston

然后我从自述文件中复制了第一个示例代码(并在它之前添加了要求):

"use strict";

let winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    //
    // - Write to all logs with level `info` and below to `combined.log` 
    // - Write all logs error (and below) to `error.log`.
    //
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

//
// If we're not in production then log to the `console` with the format:
// `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
// 
if (process.env.NODE_ENV !== 'production') {
  logger.add(new winston.transports.Console({
    format: winston.format.simple()
  }));
}

但是我得到一个错误:

/Users/kramer65/mms/testlogging.js:7
    format: winston.format.json(),
                          ^
TypeError: Cannot read property 'json' of undefined

有人知道我在这里做错了什么吗?欢迎所有提示!

最佳答案

您的代码与尚未发布的新 v3 兼容。如果你想安装它:

npm i winston@next --save

或者,如果您想坚持使用 v2,可以阅读 npm 上的 v2 文档

ref

关于javascript - 使用 Winstonjs 记录器进行 Node 记录会出现 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46949067/

相关文章:

javascript - 搜索事件的更好方法?

javascript - JavaScript 下拉菜单

javascript - 如何向Javascript添加数据库环境变量

javascript - NodeJS - 错误堆栈跟踪中的错误行号

c# - 有没有办法在 Windows 中使用 C# 以编程方式禁用磁盘驱动器上的写入缓存策略?

javascript - 如何将 HTML 文本框表单输入放入 Express Route 参数

javascript - 将 SSL 添加到域时,Flex Slider 不工作

node.js - 将 Base64 图像发布到 Imgur

java - 3.0 servlet 中的 Log4J2 配置

xml - log4j - 为什么 logger.debug 不工作?