Как войти node.js при сбое с файлом

#javascript #node.js #typescript #discord.js

#javascript #node.js #машинописный текст #discord.js

Вопрос:

У меня есть бот Discord, закодированный с Node.js . Я добавил в него команду перезапуска, когда он выходит из строя, чтобы я мог поддерживать его включенным, но случайным образом каждые 2-3 раза в течение 24 часов он просто перезапускается.

Возможно, стоит упомянуть, что на данный момент я использую replit hacker plan для его размещения.

Я пока не знаю причины, поэтому то, что я хочу сделать, это:

Я хочу экспортировать журнал отслеживания / ошибок в текстовый файл или что-то подобное, чтобы при сбое я мог просмотреть его и попытаться выполнить отладку.

Есть ли реальный способ сделать это?

Я искал несколько разных способов в Интернете и нашел это, но, похоже, это не сработало для меня, так как бот дважды перезапускался этой ночью и никаких логов. Хотя, возможно, я просто не знаю, как им правильно пользоваться.

Пожалуйста, помогите мне!

 const util = require('util');
const fs = require('fs');
var log_file_err=fs.createWriteStream('./logs/error.txt',{flags:'a'});  

process.on('uncaughtException', function(err) {
console.log('Caught exception: '   err);
log_file_err.write(util.format('Caught exception: ' err)   'n');
});
 

Комментарии:

1. Может ли быть так, что вместо uncaughtException unhandledRejection этого срабатывает вместо? См. nodejs.org/api/process.html#event-unhandledrejection

2. @eol у вас есть точка зрения, должен ли я просто скопировать и вставить его с помощью «unhandeledRejection», чтобы попытаться поймать оба? origin <string> Indicates if the exception originates from an unhandled rejection or from synchronous errors. Can either be 'uncaughtException' or 'unhandledRejection'. The latter is only used in conjunction with the --unhandled-rejections flag set to strict or throw and an unhandled rejection.