У меня есть функция для получения профиля пользователя.
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);
});
});
Когда вызывается функция «find», она отображает оператор 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;
Есть ли способ, чтобы это не отображалось? Какой-нибудь флаг, который я где-то установил в конфигурационном файле?
node.js
sequelize.js
thenetimp
источник
источник
exclude
по этой странице sequelize.readthedocs.io/en/latest/docs/querying/#attributesОтветы:
Когда вы создаете объект Sequelize, переходите
false
кlogging
параметру:Для получения дополнительной информации, проверьте документы .
источник
logging
опция должна быть функцией .Если используется файл «config / config.json», то добавьте «logging»: false в config.json в данном случае в разделе конфигурации разработки.
источник
Как и в других ответах, вы можете просто установить
logging:false
, но я думаю, что лучше, чем полное отключение ведения журнала, вы можете просто включить уровни журнала в свое приложение. Иногда вы можете захотеть взглянуть на выполненные запросы, поэтому лучше настроить Sequelize для ведения подробного журнала или отладки. например (я использую Winston здесь в качестве каркаса журналирования, но вы можете использовать любой другой каркас):Это будет выводить операторы SQL, только если уровень журнала winston установлен на уровень отладки или более низкий уровень отладки. Если уровень журнала - предупреждение или информация, например, SQL не будет зарегистрирован
источник
Все эти ответы отключены во время создания журнала .
Но что, если нам нужно отключить ведение журнала во время выполнения?
Под временем выполнения я имею в виду после инициализации
sequelize
объекта с помощьюnew Sequelize(..
функции.Я заглянул в источник GitHub , нашел способ отключить вход во время выполнения.
источник
Основываясь на этом обсуждении, я построил это,
config.json
которое прекрасно работает:источник
Вот мой ответ:
Вкратце : я использовал
typeorm
библиотеку ORM. Итак, чтобы установить уровень ведения журнала запросов, я использовал следующую опцию вместо прямой установки опции ведения журнала какfalse
.Решение: Имя файла - ormconfig.ts
И в переменной envrionment установите
DB_QUERY_LEVEL
as ["query", "error"].Результат: в результате он будет регистрироваться только тогда, когда в запросе будет ошибка, иначе не будет.
Ссылка ссылки: typeorm db для ведения журнала запросов
Надеюсь это поможет! Спасибо.
источник
Я использую Sequelize ORM 6.0.0 и использую «logging»: false как остальные, но опубликовал свой ответ для последней версии ORM.
Примечание. Я храню свои секреты в файле конфигурации,
.env
соблюдая 12-факторную методологию.источник
Я решил много вопросов, используя следующий код. Проблемы были: -
источник