【问题标题】:Node.js - winston-loggly module throws "Cannot read property 'length' of undefined" errorNode.js - winston-loggly 模块抛出“无法读取未定义的属性'长度'”错误
【发布时间】:2017-02-15 11:43:13
【问题描述】:

我正在尝试在我的 Sails.js 应用程序中设置 Winston Loggly。我遵循Sails.js - Using A Custom Logger 文档并像这样设置我的/config/log.js 文件:

// Send logs to Loggly using Winston
var winston = require('winston');
require('winston-loggly');

var customLogger = new winston.Logger();
customLogger.add(winston.transports.Loggly, {
    inputToken: MY INPUT TOKEN,
    auth: {
        username: MY USERNAME,
        password: MY PASSWORD
    },
    subdomain: MY SUBDOMAIN,
    level: 'info',
    tags: ['web-service', process.env.NODE_ENV],
    json: true
});

module.exports.log = {

    level: 'info',
    custom: customLogger,

    // Disable captain's log so it doesn't prefix or stringify our meta data.
    inspect: false

};

无论我做什么,我的控制台都会出现以下错误:

/Users/Nag/Code/web-service/node_modules/winston-loggly/node_modules/loggly/lib/loggly/client.js:190
    return isSolid.test(tag) && tag.length <= 64;
                                   ^

TypeError: Cannot read property 'length' of undefined
    at /Users/Nag/Code/web-service/node_modules/winston-loggly/node_modules/loggly/lib/loggly/client.js:190:36
    at Array.filter (native)
    at Loggly.tagFilter (/Users/Nag/Code/web-service/node_modules/winston-loggly/node_modules/loggly/lib/loggly/client.js:186:15)
    at new exports.Loggly (/Users/Nag/Code/web-service/node_modules/winston-loggly/node_modules/loggly/lib/loggly/client.js:62:12)
    at Object.exports.createClient (/Users/Nag/Code/web-service/node_modules/winston-loggly/node_modules/loggly/lib/loggly/client.js:30:10)
    at new exports.Loggly (/Users/Nag/Code/web-service/node_modules/winston-loggly/lib/winston-loggly.js:50:24)
    at Logger.add (/Users/Nag/Code/web-service/node_modules/winston/lib/winston/logger.js:475:41)
    at Object.<anonymous> (/Users/Nag/Code/web-service/config/log.js:18:14)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)
    at /usr/local/lib/node_modules/sails/node_modules/include-all/index.js:129:29
    at Array.forEach (native)
    at requireAll (/usr/local/lib/node_modules/sails/node_modules/include-all/index.js:44:9)
    at buildDictionary (/usr/local/lib/node_modules/sails/node_modules/sails-build-dictionary/index.js:68:14)
    at Function.module.exports.aggregate (/usr/local/lib/node_modules/sails/node_modules/sails-build-dictionary/index.js:190:9)
    at Array.loadOtherConfigFiles (/usr/local/lib/node_modules/sails/lib/hooks/moduleloader/index.js:239:27)
    at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:591:38
    at _arrayEach (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:85:13)

我似乎无法解决这个问题。我该如何解决?

【问题讨论】:

    标签: node.js logging sails.js


    【解决方案1】:

    错误似乎表明,由于某种原因,您的 process.env.NODE_ENV 为空、空或未定义。 你能检查一下吗?

    【讨论】:

    • 就是这样!哇!我刚刚删除它,它工作。奇怪,不知道为什么process.env.NODE_ENV 在那里没有定义。
    • process.env.NODE_ENV 将在那里为空,除非您使用(例如)NODE_ENV=production sails lift 启动 Sails,或者如果您在环境中设置了 NODE_ENV(通过export NODE_ENV=whatever,在 Linux 上)。当前版本的 Sails 实际上设置 NODE_ENV 为当前 Sails 环境,这可能有点令人困惑,并且将在 Sails 1.0 中消失。
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 2020-06-02
    • 1970-01-01
    相关资源
    最近更新 更多