Запретить Sequelize выводить SQL на консоль при выполнении запроса?
у меня есть функция для получения профиля пользователя.
app.get('/api/user/profile', function (request, response)
{
// Create the default error container
var error = new Error();
var User = db.User;
User.find({
where: { emailAddress: request.user.username}
}).then(function(user)
{
if(!user)
{
error.status = 500; error.message = "ERROR_INVALID_USER"; error.code = 301;
return next(error);
}
// Build the profile from the user object
profile = {
"firstName": user.firstName,
"lastName": user.lastName,
"emailAddress": user.emailAddress
}
response.status(200).send(profile);
});
});
при вызове функции "Найти" она отображает инструкцию select на консоли, где был запущен сервер.
Executing (default): SELECT `id`, `firstName`, `lastName`, `emailAddress`, `password`, `passwordRecoveryToken`, `passwordRecoveryTokenExpire`, `createdAt`, `updatedAt` FROM `Users` AS `User` WHERE `User`.`emailAddress` = 'johndoe@doe.com' LIMIT 1;
есть ли способ сделать это не дисплей? Какой-то флаг, который я установил в конфигурационном файле где-то?
4 ответа:
If ' config / config.файл json используется, затем добавьте "logging": false в конфигурацию.json в этом случае находится в разделе конфигурации разработки.
// file config/config.json { { "development": { "username": "username", "password": "password", "database": "db_name", "host": "127.0.0.1", "dialect": "mysql", "logging": false }, "test": { ... }
Как и в других ответов, вы можете просто установить
logging:false
, но я думаю, что лучше, чем полностью отключить ведение журнала, вы можете просто охватить уровни журнала в своем приложении. Иногда вы можете взглянуть на выполненные запросы, поэтому может быть лучше настроить Sequelize для ведения журнала на уровне verbose или debug. например (я использую winston здесь в качестве структуры ведения журнала, но вы можете использовать любую другую структуру):var sequelize = new Sequelize('database', 'username', 'password', { logging: winston.debug });
это выведет инструкции SQL, только если уровень журнала winston установлен в debug или более низкие уровни отладки. Если уровень журнала предупреждает или информация, например SQL не будет регистрироваться