쿼리 실행시 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;
이것을 표시하지 않는 방법이 있습니까? 구성 파일에서 어딘가에 설정 한 플래그?
Sequelize 객체를 만들 때 매개 변수로 전달 false하십시오 logging.
var sequelize = new Sequelize('database', 'username', 'password', {
// disable logging; default: console.log
logging: false
});
더 많은 옵션을 보려면 docs를 확인하십시오 .
'config / config.json'파일이 사용되는 경우이 경우 개발 구성 섹션에서 config.json에 'logging': false를 추가하십시오.
// file config/config.json
{
{
"development": {
"username": "username",
"password": "password",
"database": "db_name",
"host": "127.0.0.1",
"dialect": "mysql",
"logging": false
},
"test": {
...
}
As in other answers, you can just set logging:false, but I think better than completely disabling logging, you can just embrace log levels in your app. Sometimes you may want to take a look at the executed queries so it may be better to configure Sequelize to log at level verbose or debug. for example (I'm using winston here as a logging framework but you can use any other framework) :
var sequelize = new Sequelize('database', 'username', 'password', {
logging: winston.debug
});
This will output SQL statements only if winston log level is set to debug or lower debugging levels. If log level is warn or info for example SQL will not be logged
Based on this discussion, I built this config.json that works perfectly:
{
"development": {
"username": "root",
"password": null,
"logging" : false,
"database": "posts_db_dev",
"host": "127.0.0.1",
"dialect": "mysql",
"operatorsAliases": false
}
}
'Programming' 카테고리의 다른 글
| Java에서 사용자 정의 예외를 작성하는 방법은 무엇입니까? (0) | 2020.06.13 |
|---|---|
| 리스트 / 튜플 쌍을 두리스트 / 튜플로 풀기 (0) | 2020.06.13 |
| 긴 단어가 내 div를 깨는 것을 방지하는 방법은 무엇입니까? (0) | 2020.06.13 |
| 왜 2 mod 4 = 2입니까? (0) | 2020.06.13 |
| JSON에서 문자열을 어떻게 이스케이프해야합니까? (0) | 2020.06.13 |