• Home
  • Jobs
  • Courses
  • Teachers
  • For business
  • Blog
  • ES/EN

0

41
Views
Node.js : How to make spawn function synchronous instead of using spawnSync?

I'm currently using spawnSync and stdio:inherit to get the logs printed on my console. However I'm looking for custom logging to a separate file, in case if anything fails during the spawn.

I'm looking to create a wrapper around

spawn

so that it has following properties :

  • Synchronous function where output is stored in a variable
  • View output on the console
  • Write stdout and stderr to a file

For instance :

const result = spawnSync('ls', [ '-l', '-a' ], { stdio: 'inherit'}); // will print as it's processing
console.log(result.stdout); // will print null

const result = spawnSync('ls', [ '-l', '-a' ], { encoding: 'utf-8' }); // won't print anything
console.log(result.stdout); // will print ls results only on completion

I need result such that it will print while it's processing and write to a file at the same time

Also I'm looking for some strategy or solution from node.js side apart from shell scripting

27 days ago ·

Santiago Trujillo

1 answers
Answer question

0

I guess we can't make all three possible because of the limitation of node.js

As per the documentationenter image description here

If we are trying to use stdio:'inherit' , we can either redirect output to parent stdout stream or file using

fs.openSync()

Because of the limitation, we can't use custom streams too.

27 days ago · Santiago Trujillo Report
Answer question
Remote jobs
Loading

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Startups
Legal
Terms and conditions Privacy policy
© 2022 PeakU Inc. All Rights Reserved.