Я использую экспресс с Winston Logger. Я получаю сообщение об ошибке Error: ENOENT: no such file or directory
, когда express пытается обработать файл, путь к которому неверен. Это ожидаемое поведение. Однако ошибка не регистрируется через Winston (и, следовательно, не переносится на мой слабый веб-перехватчик). Он записывается в консоль узла, но не обрабатывается моим регистратором Winston. Я попытался обернуть .sendFile()
в try / catch, но это тоже не сработало.
const logger = require('winston');
const serveFile = ({ filePath, fileType }, res) => {
logger.verbose(`serving file: ${filePath}`);
const sendFileOptions = {
headers: {
'X-Content-Type-Options': 'nosniff',
'Content-Type' : fileType,
},
};
try {
res.status(200).sendFile(filePath, sendFileOptions);
} catch (error) {
logger.error(error);
}
};
module.exports = serveFile;