0

我正在尝试使用以下方法为我的 NodeJs API 实现一个日志系统:

  • 日志
  • 温斯顿
  • 摩根

当我运行我的服务器时,我得到了错误: Error: Loggly Subdomain is required

但是子域定义如下

我试图将 Loggly 配置放入模块中:

module.exports = {
    loggly: {
        token: process.env.LOG_TOKEN,
        subdomain: process.env.SUBDOMAIN,
        tags: ["Winston-NodeJS"],
        json: true
    }
};

还使用定义并包含正确信息的 ENV。

然后我创建了一个名为 logger.js 的新文件

// Requiring libs Loggly & Winston
const Loggly = require("winston-loggly-bulk").Loggly;
const winston = require("winston");
// Loggly config
const config = require("../config/config");

// Creating the logging
const logger = winston.createLogger({
    transports: [
        new Loggly(config.loggly), ==> Here the error occur!
        new winston.transports.Console({ level: "info" })
    ]
});
// Logging stream
logger.stream = {
    write: (info) => {
        logger.info(info);
    }
};

module.exports = logger;

在此脚本中,当我调用new Loggly(...)似乎无法读取我的 SUBDOMAIN 并且我无法理解不同的操作方式时会发生错误,因为这是我第一次尝试此实现。

4

1 回答 1

0

将此行require("dotenv").config();放在 server.js 中的第 1 行。

于 2020-01-07T16:11:21.817 回答