如何停止节点序列化日志记录状态

时间:2019-04-26 20:15:53

标签: javascript sequelize.js

我正在使用npm软件包sequelize + mysql,然后:

let option = {logging: false}

初始化时:

new Sequelize(option)

fine 起作用,因为它不输出查询字符串。

但是,在我INSERTUPDATE数据库之后,它仍在输出状态代码,结果看起来像这样:[ undefined, 1 ][3 , 1](3是id [AffectedID, AffectedRow]

我相信我需要更改cursor设置,但没有找到任何内容。

我正在按照说明进行操作,因此代码基本上与:http://docs.sequelizejs.com/manual/usage.html

非常相似

我正在使用RAW查询,这是我的查询语句:

.query(query, {
      replacements: parameters,
      type: Sequelize.QueryTypes[qt]
    })

那么我该如何阻止呢?我应该直接更改mysql设置还是有更好的方法?

编辑:

我刚刚发现我有一个自动记录器,我需要将其设置为false以进行插入和更新,因此感谢您的答复。

4 个答案:

答案 0 :(得分:1)

实例化续集接受的参数不仅仅是options对象。您还需要在配置选项之前传递databaseusernamepassword

const sequelize = new Sequelize('database', 'username', 'password', {
  logging: false
  // rest of your config
});

答案 1 :(得分:0)

还有另一种方法来停止记录续集查询。只需在序列化配置文件中添加名为"logging": false,的额外密钥即可。 这是示例

{
  "development": {
    "username": "xxx",
    "password": "",
    "database": "xxx",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false,
    "timezone" : "+06:00"
  },
  "test": {
    "username": "xxx",
    "password": "xxx,
    "database": "xxxx",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "timezone" : "+06:00"
  },
  "production": {
    "logging": false,
    "username": "xxxx",
    "password": "xxx",
    "database": "xxx",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "timezone" : "+06:00"
  }
}

强烈建议您从此处配置日志记录状态,这样您就可以控制日志记录。导致生产数据库不应显示日志,而生产和测试数据库应显示日志。

答案 2 :(得分:0)

除了@Trevor的答案是一个很好的答案,在运行时更改记录不能通过他的答案来实现。

无论何时创建<!-- Stored in resources/views/child.blade.php --> @extends('layouts.app') @section('title', 'Scrumpoker') @section('content') <br> <br> <create> </create> @endsection 实例,他的答案都会关闭日志记录。但是,如何更改运行时日志记录呢?说我想在少数情况下关闭日志记录。为了实现这一目标

require('./bootstrap');


import Vue from 'vue'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'



import axios from 'axios'
import VueAxios from 'vue-axios'

Vue.use(VueAxios, axios)

Vue.use(Vuetify)

const opts = {}


// Vue.component('App', require('./components/App.vue').default);
// Vue.component('Card', require('./components/card.vue').default);
// Vue.component('session', require('./components/Session.vue').default);
Vue.component('create', require('./components/Create.vue').default);





const app = new Vue({
    el: '#app',
    vuetify: new Vuetify(),

});

Reference来自源。

在您的代码库上进行开发和运行测试时,此行为非常有用。在开发中,您想查看所有日志,但是在自动化测试环境中,您主要对测试结果感兴趣。

答案 3 :(得分:0)

如果您需要禁用特定查询的日志记录:

const userProfileByCredentials = await Models.users.findOne({where: {email, password}, logging: false});