1

我正在将 LogEntries 集成到我的反应应用程序中。

但是在导入 LogEntryjs文件之后。我收到控制台错误:

const Logger = require ('./logger.jsx')('your token', {trace: true});

错误:

le.min.js:5 Uncaught TypeError: Cannot read property 'LEENDPOINT' of undefined
at new e (le.min.js:5)
at new p (le.min.js:10)
at f (le.min.js:11)
at Object.init (le.min.js:12)
at module.exports (logger.jsx:9)
at Object.defineProperty.value (App.js:10)
at __webpack_require__ (bootstrap 9c287bdecc8b4481a87b:19)
at Object.defineProperty.value (AppWrapper.js:2)
at __webpack_require__ (bootstrap 9c287bdecc8b4481a87b:19)
at Object.<anonymous> (index.js:8)

更新:

调试后,我知道记录器文件中未定义窗口对象。这是一段造成严重破坏的代码:

     if (window.LEENDPOINT) {
        _endpoint = window.LEENDPOINT;
    }

仍在寻找解决方案。

更新 2.0:

这是我的 Logger.jsx

const LogEntries = require ('./le.min.js');

module.exports =  (token, opts={}) => {
if(!token){
    throw new Error ('A valid token is required for all LogEntries library implementations.');
}

opts.token = token;
LogEntries.init(opts);
return LogEntries;
}
4

1 回答 1

1

以下解决方案对我有用:

  1. le.min.jshttps://docs.logentries.com/docs/javascript下载
  2. <script src="/assets/scripts/le.min.js"></script>在我的 index.html 中导入。确保在 bundle.js 之前导入它
  3. 创建了一个文件。记录器.js

    const token = 'token';

    const region = 'us';

    const trace = true;

    /*eslint-disable */

    LE.init({ token, region, trace});

    export default LE;

    /*eslint-enable */

  4. 每当您要进行日志导入时import Logger from './Logger';

  5. 使用以下方式记录: Logger.error('Log');
于 2018-06-22T12:48:54.150 回答