Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解密Node.js应用程序日志_Javascript_Node.js - Fatal编程技术网

Javascript 解密Node.js应用程序日志

Javascript 解密Node.js应用程序日志,javascript,node.js,Javascript,Node.js,我在AWS上运行Kube群集,一切都很顺利。出于某种原因,我们的节点应用程序不断崩溃,我们从实例中获得以下重复日志 我一直在寻找答案,但结果很短,我对Node是相当陌生的。。。有人能指导我用正确的方法调试这个吗 谢谢 [api-test-1214783129-8pg3b api-test] buffer.js:500 [api-test-1214783129-8pg3b api-test] throw new Error('"toString()" failed');

我在AWS上运行Kube群集,一切都很顺利。出于某种原因,我们的节点应用程序不断崩溃,我们从实例中获得以下重复日志

我一直在寻找答案,但结果很短,我对Node是相当陌生的。。。有人能指导我用正确的方法调试这个吗

谢谢

    [api-test-1214783129-8pg3b api-test] buffer.js:500 
    [api-test-1214783129-8pg3b api-test] throw new Error('"toString()" failed'); 
    [api-test-1214783129-8pg3b api-test] ^ 
    [api-test-1214783129-8pg3b api-test]  
    [api-test-1214783129-8pg3b api-test] Error: "toString()" failed 
    [api-test-1214783129-8pg3b api-test] at Buffer.toString (buffer.js:500:11) 
    [api-test-1214783129-8pg3b api-test] at Object.fs.readFileSync (fs.js:552:33) 
    [api-test-1214783129-8pg3b api-test] at Object.Module._extensions..js (module.js:549:20) 
    [api-test-1214783129-8pg3b api-test] at Module.load (module.js:458:32) 
    [api-test-1214783129-8pg3b api-test] at tryModuleLoad (module.js:417:12) 


[api-test-1214783129-ii8f3 api-test] /code/src/core:1 
[api-test-1214783129-ii8f3 api-test] (function (exports, require, module, __filename, __dirname) { ELF 
[api-test-1214783129-ii8f3 api-test] ^ 
[api-test-1214783129-ii8f3 api-test] SyntaxError: Unexpected token ILLEGAL 
[api-test-1214783129-ii8f3 api-test] at Object.exports.runInThisContext (vm.js:76:16) 
[api-test-1214783129-ii8f3 api-test] at Module._compile (module.js:513:28) 
[api-test-1214783129-ii8f3 api-test] at Object.Module._extensions..js (module.js:550:10) 
[api-test-1214783129-ii8f3 api-test] at Module.load (module.js:458:32) 
[api-test-1214783129-ii8f3 api-test] at tryModuleLoad (module.js:417:12) 
[api-test-1214783129-ii8f3 api-test] at Function.Module._load (module.js:409:3) 
[api-test-1214783129-ii8f3 api-test] at Function.cls_wrapMethod [as _load] (/code/src/node_modules/newrelic/lib/shimmer.js:257:38) 
[api-test-1214783129-ii8f3 api-test] at Module.require (module.js:468:17) 
[api-test-1214783129-ii8f3 api-test] at require (internal/module.js:20:19) 
[api-test-1214783129-ii8f3 api-test] at Object.<anonymous> (/code/src/jsonwebtoken.js:10:12) 
[api-test-1214783129-ii8f3 api-test] at Module._compile (module.js:541:32) 
[api-test-1214783129-ii8f3 api-test] at Object.Module._extensions..js (module.js:550:10) 
[api-test-1214783129-ii8f3 api-test] at Module.load (module.js:458:32) 
[api-test-1214783129-ii8f3 api-test] at tryModuleLoad (module.js:417:12) 
[api-test-1214783129-ii8f3 api-test] at Function.Module._load (module.js:409:3) 
[api-test-1214783129-ii8f3 api-test] at Function.cls_wrapMethod [as _load] (/code/src/node_modules/newrelic/lib/shimmer.js:257:38) 
[api-test-1214783129-ii8f3 api-test] error: Forever detected script exited with code: 1 
[api-test-1214783129-ii8f3 api-test] error: Script restart attempt #86 
[api-test-1214783129-8pg3b api test]buffer.js:500
[api-test-1214783129-8pg3b api test]抛出新错误(“'toString()'失败”);
[api-test-1214783129-8pg3b api测试]^
[api-test-1214783129-8pg3b api测试]
[api-test-1214783129-8pg3b api测试]错误:“toString()”失败
[api-test-1214783129-8pg3b api测试]位于Buffer.toString(Buffer.js:500:11)
[api-test-1214783129-8pg3b api test]位于Object.fs.readFileSync(fs.js:552:33)
[api-test-1214783129-8pg3b api test]位于Object.Module.\u extensions..js(Module.js:549:20)
[api-test-1214783129-8pg3b api测试]在Module.load处(Module.js:458:32)
[api-test-1214783129-8pg3b api测试]在tryModuleLoad(module.js:417:12)
[api-test-1214783129-ii8f3 api测试]/code/src/core:1
[api-test-1214783129-ii8f3 api测试](函数(导出、要求、模块、文件名、目录名){ELF
[api-test-1214783129-ii8f3 api测试]^
[api-test-1214783129-ii8f3 api测试]语法错误:意外令牌非法
[api-test-1214783129-ii8f3 api测试]位于Object.exports.runInThisContext(vm.js:76:16)
模块处的[api-test-1214783129-ii8f3 api测试]。_编译(Module.js:513:28)
[api-test-1214783129-ii8f3 api测试]位于Object.Module.\u extensions..js(Module.js:550:10)
[api-test-1214783129-ii8f3 api测试]在Module.load处(Module.js:458:32)
[api-test-1214783129-ii8f3 api测试]在tryModuleLoad(module.js:417:12)下
[api-test-1214783129-ii8f3 api测试]在函数模块处加载(模块js:409:3)
[api-test-1214783129-ii8f3 api test]位于Function.cls_wrapMethod[as_load](/code/src/node_modules/newrelic/lib/shimmer.js:257:38)
[api-test-1214783129-ii8f3 api测试]at Module.require(Module.js:468:17)
[api-test-1214783129-ii8f3 api测试]根据需要(内部/模块js:20:19)
[api-test-1214783129-ii8f3 api测试]位于对象处。(/code/src/jsonwebtoken.js:10:12)
模块处的[api-test-1214783129-ii8f3 api测试]。_编译(Module.js:541:32)
[api-test-1214783129-ii8f3 api测试]位于Object.Module.\u extensions..js(Module.js:550:10)
[api-test-1214783129-ii8f3 api测试]在Module.load处(Module.js:458:32)
[api-test-1214783129-ii8f3 api测试]在tryModuleLoad(module.js:417:12)下
[api-test-1214783129-ii8f3 api测试]在函数模块处加载(模块js:409:3)
[api-test-1214783129-ii8f3 api test]位于Function.cls_wrapMethod[as_load](/code/src/node_modules/newrelic/lib/shimmer.js:257:38)
[api-test-1214783129-ii8f3 api测试]错误:永久检测到的脚本已退出,代码:1
[api-test-1214783129-ii8f3 api测试]错误:脚本重新启动尝试#86

错误表示无法读取模块的源代码。具体而言,字节表示(
缓冲区
)无法转换为字符串

如果代码未保存为普通UTF-8,则会发生这种情况

在您的情况下,这是因为当节点执行
require('./core');
时,它会查找一个文件
core
,但会找到…a。若要避免此问题,请执行以下任一操作或组合操作:

  • 将jsonwebtoken.js中的
    require('./core');
    替换为
    require('./core.js');
  • 将文件
    core.js
    和相应的require重命名为,
    ourcore.js
    require('./ourcore');
  • 删除或重命名文件
    /code/src/core
    。但此解决方法只是临时的
  • 或者修复正在崩溃的(不相关的)应用程序

对于类似的错误消息,其他解释可能是:

较旧的节点版本(虽然不是节点v6.3.1)甚至会遇到错误。在十六进制编辑器中打开文件并查看开头。所有这些字符都是ASCII字符吗

您可以使用十六进制编辑器删除BOM-只需删除前导的非ASCII字符。或者,在编程文本编辑器中打开文件-例如sublime、vscode、kate、notepad2等-并将其保存为不带BOM的UTF-8。

你的应用程序运行的是哪个版本的node和npm?这看起来像是newrelic Instrumentation的问题。我们使用的是node版本:v6.3.1和npm版本3.10.10Hi,我目前使用的是ATOM,它说它使用UTF-8编码。有什么想法吗?很好,所以问题几乎肯定是一开始的BOM。不幸的是,我不认为ATOM可以n本机切换为带/不带BOM保存。您可以将除文件的第一个字符以外的所有内容复制到新文件中,键入第一个字符,然后使用Atom以旧名称保存。或者,使用十六进制编辑器删除BOM。如果此操作不成功,请将文件或其十六进制转储文件上载到某个位置,以便我们可以查看。因此,我们的项目t很大,有很多文件。您对如何查找包含BOM表的文件或所有文件有何建议?您可以轻松地从所有文件中删除BOM表。使用
find
之类的工具,在存储库中的每个文件上调用它。