Привет! У меня есть умный контракт, написанный на nodejs и развернутый на фабрике hyperledger 1.2.Смарт-контракт или цепочка кодов работают отлично, но не печатает никаких журналов.Я распечатал журналы с помощью оператора console.log ().
Уже пробовал многократные обходы, но, похоже, ни один из них не работает.1) Перенаправил вывод console.log () в файл и переопределил функцию console.log a согласно предложенному здесь решению.
const util = require('util');
var fs = require('fs');
var log_file = fs.createWriteStream('ankurkhera.log', {flags : 'w'});
var log_stdout = process.stdout;
console.log = function(d) { //
log_file.write(util.format(d) + '\n');
log_stdout.write(util.format(d) + '\n');
};
2) Попытался с помощью функции shim.newLogger и распечатал журналы, но сделалне работает.
const shim = require('fabric-shim');
var testLog = shim.newLogger('ankurkhera');
testLog.info('============= START : createSpend ===========')
3) Попытка просмотра журналов с использованием, но ничего
docker logs -f <container id>
Это код моего умного контракта ниже
'use strict';
const shim = require('fabric-shim');
const util = require('util');
var testLog = shim.newLogger('ankurkhera');
var fs = require('fs');
var log_file = fs.createWriteStream('ankurkhera.log', {flags : 'w'});
var log_stdout = process.stdout;
console.log = function(d) { //
log_file.write(util.format(d) + '\n');
log_stdout.write(util.format(d) + '\n');
};
async createSpend(stub, args) {
console.log('how are you'); //DOES NOT GET SAVED TO FILE
testLog.info('============= START : createSpend ===========');// NO Logs
testLog.info('============= END : createSpend ===========');
}
Я ожидаю, чтопросмотрите журналы для отладки моего умного контракта, написанного на nodejs и развернутого на фабрике hyperledger 1.2.