Проблема с выводом строк в текстовом файле с помощью stream.write () - PullRequest
0 голосов
/ 20 ноября 2018
function sortOutFiles() {
return new Promise(function(resolve, reject) {
    reportStream.write(returnCurrentDate() + ' --- Start importing files to ...\\StoreLine\\Office\\Import ---\n');
    console.info('--- Start importing files to ...\\StoreLine\\Office\\Import ---');
    for(let i = 0; i < templateOfTypes.length; i++) {
        for(let j = 0; j < filesArray.length; j++) {
            if(toUpper(filesArray[j].substr(0, 2)) === 'BX' && templateOfTypes[i] == filesArray[j].substr(2, 3)) {
                importFiles(filesArray[j]);
                checkGenBtchStatus(file);
            }
            if(toUpper(filesArray[j].substr(0, 3)) === 'PLU' && templateOfTypes[i] == toUpper(filesArray[j].substr(0, 3))) {
                importFiles(filesArray[j]);
                checkGenBtchStatus(file);
            }
        }
    }
    resolve();
});
}

function importFiles(file) {
    filesDataList[file] = {
        startOfImport : "",
        endOfImport : "",
        durationOfImport : "",
        statusOfImport : ""
    };
    let oldPath = 'C:\\For_testing\\' + toUpper(file);
    let newPath = trueDestPath + '\\' + toUpper(file);
    //let newPath = 'C:\\Program Files (x86)\\StoreLine\\' + toUpper(file);
    fs.rename(oldPath, newPath, (err) => {
        if (err) throw err;
    });
    filesDataList[file].startOfImport = returnCurrentDate();
    reportStream.write(returnCurrentDate() + ' --- File ' + file + ' was sent to ...\\StoreLine\\Office\\Import ---\n');
    console.info('--- File ' + file + ' was sent to ...\\StoreLine\\Office\\Import ---');
    //reportStream.write('--- status ---\n')
}

function checkGenBtchStatus(file) {
    console.info('--- Checking the status of ' + file + ' file import... ---');
    reportStreamDB.write(returnCurrentDate() + ' --- Checking the status of ' + file + ' file import... ---\n');

}

Я пытаюсь вставить логи в текстовый файл. ReportStream.write () * Для этого используется .

Ожидаемое поведение:

В текстовом файле мне нужно увидеть следующее:

определенная дата --- файл file1 был отправлен в ... \ StoreLine \ Office \ Import --- \ n

некоторыеdate --- Проверка состояния file1 import ... --- \ n

некоторая дата --- File file2 было отправлено в ... \ StoreLine \ Office \ Import --- \ n

некоторая дата --- Проверка состояния file2 import ... --- \ n

некоторая дата --- Файл file3 был отправлен в ... \ StoreLine \ Office \ Import --- \ n

некоторая дата --- Проверка состояния file3 import ... --- \ n

некоторая дата -- материал из другой функции --- \ n

Фактическое поведение:

В текстовом файле я вижу следующее:

некоторая дата --- Проверка статуса file1 import ... -- \ n

некоторая дата --- материал из другой функции --- \ n

некоторая дата --- файл file1 был отправлен в ... \ StoreLine \ Office \ Import --- \ n

на определенную дату --- Файл file2 был отправлен... \ StoreLine \ Office \ Import --- \ n

некоторая дата --- Файл file3 был отправлен в ... \ StoreLine \ Office \Импорт --- \ n

некоторая дата --- материал из другой функции --- \ n

некоторая дата ---Проверка состояния file2 import ... --- \ n

некоторая дата --- Проверка состояния file3 import... --- \ n

Но в консоли каждый ряд находится в правильном месте.Что не так с моим reportStreamDB.write () ?Почему в checkGenBtchStatus () reportStreamDB.write () действует иначе, чем console.info () ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...