Как вы определяете из любого места в выражении, из которого связано логика?
Я использую Express и делаю много логики в своем коде. Чтобы пользователь знал, что происходит, я использую консольный журнал практически везде. Таким образом, если логика запускается по командной строке, она просто печатает на консоль, и если логика проходит через экспресс-маршрут, я переопределяю консоль следующим образом:
console.log = (print) => {
res.write(print + '<br>')
};
Довольно просто, но когда два запускаются одновременно, самый новый один забирает функцию журнала консоли, поэтому он начинает печатать журналы консоли из обоих процессов. Любое предложение о том, как это должно выполняться Без передачи специальной функции печати ко всем моим функциям в качестве параметра?
Может быть, использовать глобальный объект печати, который определяет, в каком узле он запускался, и только печатать утверждения, которые поступают из этого источника, но тогда как бы вы закрыли соединение?
Использовать модуль npm winston https://www.npmjs.com/package/winston
var winston = require('winston');
winston.log('info', 'Hello distributed log files!');
winston.info('Hello again distributed logs');
winston.level = 'debug';
winston.log('debug', 'Now my debug messages are written to console!');
И предоставить некоторые транспортные средства https://github.com/winstonjs/winston/blob/master/docs/transports.md
console.log
и ожидать только локальное приложение. Как вы контролируете область применения ваших изменений?