NodeJS Azure函数上下文日志记录不正确,不同步

hgb9j2n6  于 2023-03-17  发布在  Node.js
关注(0)|答案(1)|浏览(79)

我希望以下内容从上到下按顺序记录,但结果显示它们没有按顺序记录

// Azure function handler
export const browseIssues = context => {
  context.log.info({ a: 'first object', b: { q: 'test 1' } });
  context.log.info({ a: 'second object', b: { q: 'test 2' } });
  context.log.info({ a: 'third object', b: { q: 'test 3' } });

  context.log.info(JSON.stringify({ a: 'first string', b: { q: 'test 1' } }));
  context.log.info(JSON.stringify({ a: 'second string', b: { q: 'test 2' } }));
  context.log.info(JSON.stringify({ a: 'third string', b: { q: 'test 3' } }));

  context.log.info('first simple string');
  context.log.info('second simple string');
  context.log.info('third simple string');
}

结果:x1c 0d1x
对于为什么会发生这种情况以及如何补救有什么想法吗?问题似乎局限于azure context的日志中,因为console.log会同步记录日志。
节点版本:版本18.12.1
本例中未使用中间件。
编辑:额外信息-这里有一个准系统回购,它是可复制的https://github.com/keidyz/azure-function-logging-issue

wfveoks0

wfveoks01#

从我的实践中,我观察到同样的问题,这是Context Logging不按顺序做。

module.exports = async  function (context) {
context.log('JavaScript HTTP trigger function processed a request.');
  

context.log.info({ a:  'first object', b: { q:  'test 1' } });
context.log.info({ a:  'second object', b: { q:  'test 2' } });
context.log.info({ a:  'third object', b: { q:  'test 3' } });
context.log.info(JSON.stringify({ a:  'first string', b: { q:  'test 1' } }));
context.log.info(JSON.stringify({ a:  'second string', b: { q:  'test 2' } }));
context.log.info(JSON.stringify({ a:  'third string', b: { q:  'test 3' } }));

context.log.info('first simple string');
context.log.info('second simple string');
context.log.info('third simple string');
const  responseMessage = "Hello Krishna, This Http Triggered Function executed successfully."

context.res = {
body:  responseMessage
};
}

我已经在Azure Functions Host Issues官方论坛- #9146中提出了Azure Functions Node JS的所有代码片段的问题,以获得上述结果,并将进行相应的跟进。

相关问题