Попытка создать файл журнала в NodeJS с ошибками, которые я получаю - PullRequest
0 голосов
/ 08 апреля 2020

Я создаю модуль для HTTP запросов в NodeJS и Express. Этот модуль содержит две функции. Одна для возвращает положительное состояние запроса, а другая ошибка возвращает отрицательное состояние запроса.

const fs = require('fs')
const path = require('path')

const networkFolder = path.join(__dirname, '../data/')
const file = path.join(__dirname, '../data/network.log')


const success = (req, res, status, data) => {
    res.status(status).json({
        error: '',
        data
    })
}

const error = (req, res, status, error, log) => {
    if (log) {
        fs.access(networkFolder, fs.constants.W_OK, (err) => {
            if (err) {
                console.error(new Error(err))
            } else {
                fs.open(file, (err) => {
                    if (err) console.error(new Error(err))
                    fs.writeFile(file, log, (err) => {
                        if (err) console.error(new Error(err))
                        console.log(`Error: Check on server for more details.`)
                    })
                })
            }
        })
    }
    res.status(status).json({
        error,
        data: ''
    })
}

module.exports = {
    success,
    error
}

Я никогда не использовал модуль файловой системы и хотел бы знать, правильно ли я это делаю. В функции ошибки я передаю некоторые параметры. Один из них - это ошибка, а другой - журнал. Параметр ошибки предназначен для клиента - более обобщенная версия ошибки, чтобы не раскрывать подробности потенциальным злоумышленникам. Параметр журнала будет содержать наиболее подробную ошибку. Но я хочу, чтобы эта ошибка была go для файла, который будет go внутри указанной папки c. Я назвал папку с данными и файл network.log. Это правильный путь?

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